【发布时间】:2016-05-13 20:48:33
【问题描述】:
我想创建一个关于一个用户选择其他用户并在那里定义权限的应用程序,但该用户不是管理员或“dba”。一个句子为: 授予 BIG_USER; “大用户”有很多权限,其他用户相同或更少。 谢谢
【问题讨论】:
标签: oracle11g privileges database-administration sql-grant
我想创建一个关于一个用户选择其他用户并在那里定义权限的应用程序,但该用户不是管理员或“dba”。一个句子为: 授予 BIG_USER; “大用户”有很多权限,其他用户相同或更少。 谢谢
【问题讨论】:
标签: oracle11g privileges database-administration sql-grant
如果您想首先将已授予某个用户的所有授权授予其他用户,您应该先获得该用户的授权,然后为每个用户编写一个脚本来授予该授权。下表显示了每个用户的授权
USER_SYS_PRIVS、USER_TAB_PRIVS、USER_ROLE_PRIVS 表
编写查询以获取权限,然后将其提供给其他用户
【讨论】:
Oracle 的权限系统允许您对允许该用户授予的权限进行一些细化。
对于对象(表等),您必须是 dba、对象所有者,或者具有使用 grant 选项授予的权限。所以以下应该工作:
GRANT ALL PRIVILEGES ON mytable TO WITH GRANT OPTION;
您必须在用户需要能够管理权限的每个表上重复此操作。
此答案假设您正在查看对象(表等)的权限,而不是系统权限。
【讨论】: