Oracle 数据字典,区分内置角色和自定义角色

Tul*_*ova 6 oracle role catalogs

在 Oracle 中,如果你描述DBA_ROLES视图,你只会得到三列:

SQL> describe dba_roles;
 Name                      Null     Type
------------------------------------------------
 ROLE                      NOT NULL VARCHAR2(30)
 PASSWORD_REQUIRED                  VARCHAR2(8)
 AUTHENTICATION_TYPE                VARCHAR2(11)
Run Code Online (Sandbox Code Playgroud)

没有列可以告诉我给定的角色是 RDBMS 附带的内置角色之一,SET_CATALOG_ROLE还是用户创建的角色,如LEMONADE_STAND_MANAGER.

  • 如何获取所有用户创建的角色(不包括所有内置角色)的列表?

Gui*_*taX -1

与架构对象不同,角色不包含在任何架构对象中。因此,不存在“角色所有者”。例如,您可以创建一个角色(假设用户具有创建角色权限),以及示例表、索引...如果您随后删除用户,则该角色不会发生任何变化,只会删除架构对象。

参考:http://docs.oracle.com/cd/B28359_01/network.111/b28531/authorization.htm#BABCADIB