我有一个很早就创建的本地Oracle角色:

create role MyRole;


它被授予选择,插入,更新和删除某些表和视图的功能。

grant select on sometable to MyRole;
grant insert on sometable to MyRole;
grant select on someothertable to MyRole;
-- etc.


现在如何枚举授予角色的特权的特定列表?我感兴趣的是发现特定的表以及该角色对每个表所拥有的权利。如何恢复此信息?

最佳答案

您可以简单地从数据字典ROLE_TAB_PRIVS中搜索。像这样


SELECT * FROM ROLE_TAB_PRIVS WHERE ROLE ='MyRole';

10-04 11:16