Oracle 用户、角色、权限(系统权限、对象权限)的数据字典表

2014-11-24 18:34:17 · 作者: · 浏览: 0

1 三者的字典表


1.1 用户


select * from dba_users;


select * from all_users;


select * from user_users;


1.2 角色


select * from dba_roles;


1.3 权限


分为系统权限与对象权限:


select * from system_privilege_map;


select * from table_privilege_map;


2 三者之间关系的字典表


这类关系字典表的表名后缀都包含"_privs"


2.1 用户与角色


用户拥有的角色:


select * from dba_role_privs;


select * from user_role_privs;


select * from role_role_privs;


role_role_privsrole_role_privs 都是dba_role_privs的子集.


dba_role_privsgrantee字段包括用户名与角色名.


user_role_privsusername字段包括操作用户的用户名.


role_role_privsrole字段只是角色名.


注意: 没有role_all_privs, 为什么没有搞懂.


2.2 用户与权限


用户拥有的系统权限:


select * from dba_sys_privs;


select * from user_sys_privs;


注意: 没有all_sys_privs, 为什么没有搞懂.



用户拥有的对象权限:


select * from dba_tab_privs;


select * from all_tab_privs;


select * from user_tab_privs;


select * from dba_col_privs;


select * from all_col_privs;


select * from user_col_privs;


2.3 角色与权限


查询授出去的对象权限(通常是属主自己查)


select * from role_sys_privs;


select * from role_tab_privs;


3 其他


查询授出去的对象权限(通常是属主自己查)


select * from user_tab_privs_made;


select * from all_tab_privs_made;


用户拥有的对象权限


select * from user_tab_privs_recd;


select * from all_tab_privs_recd;


用户分配出去的列的对象权限


select * from user_col_privs_made;


select * from all_col_privs_made;


用户拥有的关于列的对象权限


select * from user_col_privs_recd;


select * from all_col_privs_recd;



注意: ALL版本列出了用户或PUBLIC为被授予者或授予者的那些对象。