有A(EDU)、B、C、D(JF)三个schema,现在的问题是A需要可以讲A、B、C三个用户下的对象权限赋予D用户。
比如A需要将A B C三个schema下表的select权限赋给D用户。
①EDU拥有
GRANT SELECT ANY TABLE TO EDU WITH ADMIN OPTION
并将select权限分配下去的权限。
然而事实是,当我执行,
GRANT SELECT ON RST.SEARCH_LOG_MONITOR TO JF
却不可以。
②进一步显式的特别指定SEARCH_LOG_MONITOR表上的ADMIN OPTION选项
GRANT SELECT ON RST.SEARCH_LOG_MONITOR TO EDU WITH ADMIN OPTION
然后
GRANT SELECT ON RST.SEARCH_LOG_MONITOR TO JF
就可以了。如果每个表都要显式的指定,还是很麻烦的。
那么就有了
③GRANT GRANT ANY OBJECT PRIVILEGE TO EDU
然后管理ABCD下的对象权限问题都可以了。
④类似的有:
ADMINISTER DATABASE TRIGGER
⑤解决问题的步骤很简单:
select *
from dict d
where d.table_name like'�A_SYS%'
select * from
dba_sys_privs D where grantee='DBA'
and (d.PRIVILEGE like'%TABLE%' OR d.PRIVILEGE
like'%OBJECT%')
DBA GRANT ANY OBJECT
PRIVILEGE YES
-----找到这个 再从官方文档上搜索 并且自己测试。然后就可以了。。