【发布时间】:2017-02-03 12:30:14
【问题描述】:
我有一个带有一些用户定义角色的 Oracle 数据库。我想创建一个具有非常相似权限的新角色(对于不同的架构,它是相同的角色),但我不知道这个角色授予什么权限。
有没有我可以用来解决这个问题的查询?
(我试过了
SELECT * FROM DBA_TAB_PRIVS
WHERE GRANTEE IN
(SELECT granted_role FROM DBA_ROLE_PRIVS
WHERE GRANTEE = 'USER');
来自an answer for another question,但我收到了no rows selected。)
【问题讨论】:
-
您是在使用文字字符串
'USER'还是在替换实际的用户名值? (如果您正在寻找自己的用户,您可以使用不带引号的USER函数;但在它周围加上引号使其成为文字值)。您链接到的问题是“用所需的用户名替换 USER”,但我不确定您是否已经这样做了......还请记住,用户名的大小写必须与dba_users视图中的内容相匹配,并且是通常大写。 -
我确实用大写和小写版本替换了“用户”部分
-
好的,这很尴尬......我不小心再次运行了相同的查询,现在我选择了 83 行。我一定是第一次输错了用户名。
-
现在唯一要弄清楚的是如何从 sql plus 产生的混乱中获取我需要的信息
标签: oracle