ADMIN OPTION和GRANT ANY OBJECT PRIVILEGE的问题

本文探讨了在数据库中如何解决A用户向D用户跨Schema授予表的SELECT权限的问题。通过使用GRANT ANY OBJECT PRIVILEGE,有效地解决了直接GRANT SELECT ON RST.SEARCH_LOG_MONITOR TO JF遇到的限制。文章还提供了查询DBA_SYS_PRIVS的方法,帮助读者理解并应用此权限。

有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
-----找到这个 再从官方文档上搜索 并且自己测试。然后就可以了。。

 

转载于:https://www.cnblogs.com/gracejiang/archive/2010/12/30/5890438.html

CREATE USER cedar IDENTIFIED BY cedar DEFAULT TABLESPACE CEDAR_DATA TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK; -- 5 Roles for cedar GRANT DBA TO cedar; GRANT RESOURCE TO cedar WITH ADMIN OPTION; GRANT AQ_ADMINISTRATOR_ROLE TO cedar; GRANT CONNECT TO cedar WITH ADMIN OPTION; GRANT AQ_USER_ROLE TO cedar; ALTER USER cedar DEFAULT ROLE ALL; -- 44 System Privileges for cedar GRANT CREATE ANY DIRECTORY TO cedar WITH ADMIN OPTION; GRANT CREATE PUBLIC SYNONYM TO cedar WITH ADMIN OPTION; GRANT EXECUTE ANY CLASS TO cedar WITH ADMIN OPTION; GRANT DROP ANY VIEW TO cedar WITH ADMIN OPTION; GRANT CREATE CLUSTER TO cedar; GRANT ALTER SYSTEM TO cedar; GRANT UPDATE ANY TABLE TO cedar; GRANT INSERT ANY TABLE TO cedar; GRANT LOCK ANY TABLE TO cedar; GRANT CREATE EXTERNAL JOB TO cedar WITH ADMIN OPTION; GRANT EXECUTE ANY PROGRAM TO cedar WITH ADMIN OPTION; GRANT CREATE JOB TO cedar WITH ADMIN OPTION; GRANT DROP ANY DIRECTORY TO cedar WITH ADMIN OPTION; GRANT ALTER ANY TRIGGER TO cedar; GRANT CREATE DATABASE LINK TO cedar; GRANT DROP ANY TABLE TO cedar WITH ADMIN OPTION; GRANT CREATE TABLE TO cedar WITH ADMIN OPTION; GRANT QUERY REWRITE TO cedar; GRANT ANALYZE ANY TO cedar; GRANT DROP ANY TRIGGER TO cedar; GRANT EXECUTE ANY PROCEDURE TO cedar; GRANT SELECT ANY TABLE TO cedar WITH ADMIN OPTION; GRANT ALTER ANY TABLE TO cedar; GRANT UNLIMITED TABLESPACE TO cedar WITH ADMIN OPTION; GRANT CREATE SESSION TO cedar; GRANT CREATE ANY TRIGGER TO cedar; GRANT DROP ANY PROCEDURE TO cedar WITH ADMIN OPTION; GRANT ALTER ANY PROCEDURE TO cedar; GRANT DROP PUBLIC SYNONYM TO cedar WITH ADMIN OPTION; GRANT DROP ANY SYNONYM TO cedar WITH ADMIN OPTION; GRANT MANAGE SCHEDULER TO cedar WITH ADMIN OPTION; GRANT CREATE ANY PROCEDURE TO cedar; GRANT CREATE PROCEDURE TO cedar WITH ADMIN OPTION; GRANT CREATE SEQUENCE TO cedar; GRANT CREATE VIEW TO cedar WITH ADMIN OPTION; GRANT CREATE SYNONYM TO cedar; GRANT DROP ANY INDEX TO cedar; GRANT DELETE ANY TABLE TO cedar; GRANT CREATE ANY TABLE TO cedar; GRANT CREATE ANY JOB TO cedar WITH ADMIN OPTION; GRANT SELECT ANY DICTIONARY TO cedar WITH ADMIN OPTION; GRANT CREATE ROLE TO cedar; GRANT CREATE ANY SYNONYM TO cedar WITH ADMIN OPTION; GRANT ALTER SESSION TO cedar WITH ADMIN OPTION; GRANT EXECUTE ON sys.dbms_aq TO cedar; GRANT EXECUTE ON sys.dbms_aqadm TO cedar; GRANT EXECUTE ON sys.dbms_network_acl_admin TO cedar; GRANT ALL ON sys.DBMS_LOCK TO cedar; 这个SQL在oracle 能用吗
06-08
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值