oracle数据库管理--对象、角色相关查询
2013-07-30 19:30
447 查看
1、数据字典:
记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有用户者为sys用户。用户只能在数据字典上执行查询操作(select语句),而其维护与修改是由系统自动完成的。数据字典包括数据字典基表和数据字典视图。
ORACLE中数据字典视图分为3大类, 用前缀区别,分别为:USER,ALL 和 DBA,许多数据字典视图包含相似的信息。
USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息
ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息
DBA_*:有关整个数据库中对象的信息
2、查询用户对应表
1)用于显示当前用户所拥有的所有表,它只返回所对应方案的所有表
SQL>select table_name from user_tables;
2)用于显示当前用户可以访问的所有表,它不仅会返回当前用户方案的所有表,还会返回当前用户可以访问的其它方案的表。
SQL>select table_name from all_tables;
3)用于显示所有方案拥有的数据库表,但是查询这种数据库字典视图,要求用户必须是DBA角色或是有select any table系统权限。
eg:当system用户查询数据字典视图dba_tables时,会返回system、sys、scott···方案所对应的数据库表。
SQL>conn system/manager;
SQL>select table_name from dba_tables;
3、用户名、权限、角色
1)显示所有数据库用户的详细信息
SQL>desc dba_users;
SQL>select username,password from dba_users;
2)显示用户具有的系统权限
SQL> desc dba_sys_privs
SQL> select * from dba_sys_privs where grantee='DBA';
3)显示用户具有的对象权限
SQL> desc dba_tab_privs
SQL> select * from dba_tab_privs where grantee='DBA'
4)显示用户所具有的角色
SQL> desc dba_sys_privs
SQL> select * from dba_role_privs where grantee='SCOTT';
具有CONNECT、RESOURCE角色,ADMIN_OPTION 不可派生
eg:
1)查询某个用户具有怎样的角色
SQL> select * from dba_role_privs where grantee='用户名';
2)查看某个角色包括哪些系统权限
SQL> select * from dba_sys_privs where grantee='CONNECT';
或者
SQL> select * from role_sys_privs where role='CONNECT'
八种系统权限(system privileges),没有对象权限(object privileges)
3)查看某个角色包括对象权限
SQL> select * from dba_tab_privs where grantee='CONNECT';
4)查询oracle中所有的角色,一般为DBA
SQL> select * from dba_roles;
如具有:CONNECT、RESOURCE、DBA等角色
5)查询oracle中所有的系统权限
SQL> select * from system_privilege_map order by name;
6)查询oracle中所有对象权限,一般是dba
SQL> select distinct privilege from dba_tab_privs;
7)查询数据库的表空间
SQL>select tablespace_name from dba_tablespaces;
8)显示当前用户可以访问的所有数据字典视图
SQL> select * from dict where comments like '%grant%';
9)显示当前数据库的全称
SQL> select * from global_name;
记录了数据库的系统信息,它是只读表和视图的集合,数据字典的所有用户者为sys用户。用户只能在数据字典上执行查询操作(select语句),而其维护与修改是由系统自动完成的。数据字典包括数据字典基表和数据字典视图。
ORACLE中数据字典视图分为3大类, 用前缀区别,分别为:USER,ALL 和 DBA,许多数据字典视图包含相似的信息。
USER_*:有关用户所拥有的对象信息,即用户自己创建的对象信息
ALL_*:有关用户可以访问的对象的信息,即用户自己创建的对象的信息加上其他用户创建的对象但该用户有权访问的信息
DBA_*:有关整个数据库中对象的信息
2、查询用户对应表
1)用于显示当前用户所拥有的所有表,它只返回所对应方案的所有表
SQL>select table_name from user_tables;
2)用于显示当前用户可以访问的所有表,它不仅会返回当前用户方案的所有表,还会返回当前用户可以访问的其它方案的表。
SQL>select table_name from all_tables;
3)用于显示所有方案拥有的数据库表,但是查询这种数据库字典视图,要求用户必须是DBA角色或是有select any table系统权限。
eg:当system用户查询数据字典视图dba_tables时,会返回system、sys、scott···方案所对应的数据库表。
SQL>conn system/manager;
SQL>select table_name from dba_tables;
3、用户名、权限、角色
1)显示所有数据库用户的详细信息
SQL>desc dba_users;
SQL>select username,password from dba_users;
2)显示用户具有的系统权限
SQL> desc dba_sys_privs
SQL> select * from dba_sys_privs where grantee='DBA';
3)显示用户具有的对象权限
SQL> desc dba_tab_privs
SQL> select * from dba_tab_privs where grantee='DBA'
4)显示用户所具有的角色
SQL> desc dba_sys_privs
SQL> select * from dba_role_privs where grantee='SCOTT';
具有CONNECT、RESOURCE角色,ADMIN_OPTION 不可派生
eg:
1)查询某个用户具有怎样的角色
SQL> select * from dba_role_privs where grantee='用户名';
2)查看某个角色包括哪些系统权限
SQL> select * from dba_sys_privs where grantee='CONNECT';
或者
SQL> select * from role_sys_privs where role='CONNECT'
八种系统权限(system privileges),没有对象权限(object privileges)
3)查看某个角色包括对象权限
SQL> select * from dba_tab_privs where grantee='CONNECT';
4)查询oracle中所有的角色,一般为DBA
SQL> select * from dba_roles;
如具有:CONNECT、RESOURCE、DBA等角色
5)查询oracle中所有的系统权限
SQL> select * from system_privilege_map order by name;
6)查询oracle中所有对象权限,一般是dba
SQL> select distinct privilege from dba_tab_privs;
7)查询数据库的表空间
SQL>select tablespace_name from dba_tablespaces;
8)显示当前用户可以访问的所有数据字典视图
SQL> select * from dict where comments like '%grant%';
9)显示当前数据库的全称
SQL> select * from global_name;
相关文章推荐
- Orcale:子查询、集合运算、随堂练习相关子查询、创建和管理表、其他数据库对象
- oracle数据库管理--对象、角色相关查询
- Num43 oracle(子查询: 集合查询:处理数据:创建和管理表: 其他数据库对象)
- 【Java EE 学习 28 上】【oracle学习第二天】【子查询】【集合运算】【几种数据库对象】
- 学生管理数据库,及相关查询
- oracle数据库根据列名查询出与这个列名相关的所有表
- 源码-Oracle数据库管理-第九章-SQL查询-Part 1(基本查询)
- 本人开发系统--新生报到与数据统计管理系统--数据库设计及相关查询SQL语句笔记
- 角色权限管理系统相关代码以及数据库
- oracle基本语句(第七章、数据库逻辑对象管理)
- 源码-Oracle数据库管理-第九章-SQL查询-Part 3(多表连接查询)
- Oracle442个应用场景----------数据库逻辑对象管理
- (Oracle)数据库管理的相关操作语句
- oracle 数据库的常用查询对象
- 源码-Oracle数据库管理-第九章-SQL查询-Part 2(基本查询)
- 源码-Oracle数据库管理-第九章-SQL查询-Part 4(集合运算和子查询)
- (Oracle)数据库管理的相关操作语句
- Oracle查询数据库对象所属用户
- 通过JDBC查询数据库外键对象-适用DB2, Oracle 和 MSSQL
- Oracl数据库管理方面的资料(查询sga,查看oracle数据库名称sid,查看oracle数据库名称,查看表空间,修改表空间名称,数据库管理,sqlPlus数据显示)