Oracle 用户、角色、权限(系统权限、对象权限)的数据字典(细节版)
来源:互联网 发布:短信平台软件 编辑:程序博客网 时间:2024/06/01 09:52
参考了huang_xw前辈的文章《Oracle 用户、角色、权限(系统权限、对象权限)的数据字典》-原文地址http://blog.csdn.net/huang_xw/article/details/6527762,对原文进行一些细节性的描述与编辑,并对其中问题进行了回答。
1 三者的字典表
1.1 用户
select * from dba_users;
包含以下信息:
USERNAME USER_ID PASSWORD ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE DEFAULT_TABLESPACE TEMPORARY_TABLESPACE CREATED PROFILE INITIAL_RSRC_CONSUMER_GROUP EXTERNAL_NAME
含有信息量更多
select * from all_users;
仅包含以下信息
USERNAME USER_ID CREATED
select * from user_users;
查询的是当前用户:
USERNAME USER_ID ACCOUNT_STATUS LOCK_DATE EXPIRY_DATE DEFAULT_TABLESPACE TEMPORARY_TABLESPACE CREATED INITIAL_RSRC_CONSUMER_GROUP EXTERNAL_NAME
SYSTEM 5 OPEN 2013/5/30 1 SYSTEM TEMP 2010/4/2 13 SYS_GROUP
1.2 角色
select * from dba_roles;
查询当前oracle版本中含有多少种角色;11gR2中含有55种;
1.3 权限
分为系统权限与对象权限:
select * from system_privilege_map;
查询当前oracle版本中含有多少种系统权限;11gR2中含有208种;
select * from table_privilege_map;
查询当前oracle版本中含有多少种角色;11gR2中含有26种;
2 三者之间关系的字典表
这类关系字典表的表名后缀都包含"_privs"
2.1 用户与角色
用户拥有的角色:
select * from dba_role_privs;
select * from user_role_privs;
select * from role_role_privs;
role_role_privs和role_role_privs 都是dba_role_privs的子集.
dba_role_privs的grantee字段包括用户名与角色名.
user_role_privs的username字段包括操作用户的用户名.--当前用户
role_role_privs的role字段只是角色名.
2.2 用户与权限
用户拥有的系统权限:
select * from dba_sys_privs;
select * from user_sys_privs;---username字段包括操作用户的用户名.-当前用户
dba_sys_privs的grantee字段包括用户名与角色名.
注意: 没有all_sys_privs, --系统权限是不级联回收的所以不存在此表
用户拥有的对象权限:
select * from dba_tab_privs;
select * from all_tab_privs;
存放的是授予者与被授予者之间权限的关系 这个对象权限是级联回收的~所以存在此表
注意两个字段:grantee(被授予者) 与grantor(授予者)
select * from user_tab_privs;
查询当前用户的对象权限
注意查询时一般加上distinct privilege 因为基于不同的表对象权限是不同的,所以如果查询某用户所用拥有全部对象权限,要去重。
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;
查询角色所用的对象权限
注意查询时一般加上distinct privilege 一般对象权限是对于不同的表的,所以如果查询某角色所拥有的全部对象权限,要去重。
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为被授予者或授予者的那些对象。
- Oracle 用户、角色、权限(系统权限、对象权限)的数据字典(细节版)
- Oracle 用户、角色、权限(系统权限、对象权限)的数据字典表
- Oracle 用户、角色、权限(系统权限、对象权限)的数据字典表
- Oracle 用户、角色、权限(系统权限、对象权限)的数据字典表
- Oracle 系统权限、对象权限、角色权限
- Oracle的对象权限、角色权限、系统权限
- Oracle的对象权限、角色权限、系统权限
- 关于(系统/用户对象)权限、角色及角色内权限的相关表 [role 、privilege]
- Oracle 用户、对象权限、系统权限、角色、配置文件
- oracle查询 :一个角色包括的系统权限,对象权限,Oracle有多少种角色,某个用户有什么角色
- oracle角色权限,系统权限和对象权限
- 与用户、角色、权限有关的数据字典
- Oracle 用户、角色、权限
- ORACLE用户、角色、权限
- Oracle 用户、权限、角色
- oracle用户,权限,角色
- ORACLE用户、角色、权限
- RedGlovePermission 权限管理系统源码(支持自定义权限、模块,支持角色权限,用户独立权限以及多角色权限)
- linux编写终端注销小程序
- Eclipse下Tomcat常用设置
- [Oracle] Sql优化系列--如何看懂执行计划
- 在 VC6 中使用 GdiPlus-使用
- 使用CompletionService批处理任务
- Oracle 用户、角色、权限(系统权限、对象权限)的数据字典(细节版)
- 基于顺序存储结构的栈
- [Oracle] Sql优化系列--执行计划的相关概念
- ios5.0之后的UDID的替代方法
- Mongodb集群搭建的三种方式
- 解决下载Android4.0源码时遇到的问题
- 判断一个路径是文件夹还是文件
- javascript对链接的处理
- UIPOWER《简易版DirectUI的构建》源代码编译过程中的问题