【问题标题】:Grant privileges to role query in Oracle not working在 Oracle 中授予角色查询权限不起作用
【发布时间】:2020-03-26 19:25:30
【问题描述】:

我正在尝试在 oracle db 中运行以下查询。

一个。 GRANT UPDATE ON MIC_COMMON_AT.SHL_PRODUCERS TO MIC_READWRITE_AT;

这个查询没有给出任何错误,并显示GRANT SUCCEEDED

b.但是当我运行下面的查询来检查sys.all_tab_privs 中的这个授权时,应该添加这个授权的角色,它给了我 0 行

SELECT * FROM sys.all_tab_privs
WHERE GRANTEE  = 'MIC_READWRITE_AT';

我不确定为什么角色(MIC_READWRITE_AT)所需的授权没有插入到sys.all_tab_privs 表中(查询 b 返回 0 行)-即使该角色的授权查询似乎成功执行而没有任何错误(查询 a )。

我正在执行此查询的用户已被赋予 dba 角色作为默认角色,并且它具有“GRANT ANY OBJECT PRIVILEGE' AND "GRANT ANY PRIVILEGE”的系统权限。

我在这里错过了什么?

【问题讨论】:

    标签: oracle grant


    【解决方案1】:

    all_tab_privs 仅包括当前用户是对象所有者、授予者或被授予者的对象授予。它不会显示您对其他模式中的对象的授权。尝试改用 dba_tab_privs 视图。

    【讨论】:

    • 非常感谢您的回复。这实际上很有帮助。
    猜你喜欢
    • 1970-01-01
    • 2019-05-16
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-26
    相关资源
    最近更新 更多