(我个人理解)
首先:dba_role_privs
包含了
role_role_privs.
SQL>
desc
dba_role_privs
名称
是否为空?
类型
--------------------------
--------
----------------------------
GRANTEE
VARCHAR2(30)
GRANTED_ROLE
NOT
NULL
VARCHAR2(30)
//对用户授予的角色名
ADMIN_OPTION
VARCHAR2(3)
//指出授予角色时是否用了ADMIN选项。
DEFAULT_ROLE
VARCHAR2(3)//表明是否这个角色是被指定为缺省角色。
//DBA_ROLE_PRIVS
描述哪些“用户或角色(GRANTEE)”被授予了哪些角色(GRANTED_ROLE)
SQL>
desc
role_role_privs
名称
是否为空?
类型
----------------------------
--------
----------------------------
ROLE
NOT
NULL
VARCHAR2(30)
GRANTED_ROLE
NOT
NULL
VARCHAR2(30)
ADMIN_OPTION
VARCHAR2(3)
//role_role_privs
描述哪些“角色(ROLE)”被授予了哪些角色(GRANTED_ROLE)
SQL>
select
*
from
role_role_privs
ROLE
GRANTED_ROLE
ADM
------------------------------
------------------------------
---
DBA
SCHEDULER_ADMIN
YES
DBA
OLAP_DBA
NO
DBA
EXECUTE_CATALOG_ROLE
YES
一个角色(role)可以被赋予另一个角色(GRANTED_ROLE
)(GRANTED_ROLE
英文含义是被赋予的角色)
比如上边的例子:通过role_role_privs表可以看到,DBA这个角色又被赋予了另外三个个角色(SCHEDULER_ADMIN、OLAP_DBA、EXECUTE_CATALOG_ROLE)
ROLE中的role只是角色名,Role
和User一样,是实实在在存在在Oracle里的物理对象。
GBase 8c使用用户和角色来控制对数据库的访问。根据角色自身的设置不同,一个角色可以看做是一个数据库用户,或者一组数据库用户。其中,角色和用户之间的区别,只在于角色默认是没有LOGIN权限的。在GBase 8c数据库中,一个用户唯一对应一个角色,不过可以使用角色叠加来更灵活地进行管理。欢迎分享,转载请注明来源:内存溢出
评论列表(0条)