Oracle 通过数据字典查询系统信息
2017-03-31 11:15
447 查看
简介:数据字典记录了数据库系统的信息,他是只读表和视图的集合,数据字典的所有者是sys用户。注:用户只能在数据字典上执行查询操作,而维护和修改是由系统自己完成的。
1、数据字典的组成:数据字典包括数据字典基表和数据字典视图
数据字典基表:基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表
数据字典视图:数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过访问该视图,来获取系统的信息
数据字典视图主要包括下面三种类型:
user_XXX,all_XXX,dba_XXX三种类型
2、数据字典对象介绍
2.1、user_tables
用户显示当前用户所拥有的所有表,他返回当前用户对应的方案的所有的表,代码如下:
此表不全
一共有4张左右
2.2、all_tables
用户显示当前用户可以访问的表(可能会存在别的用户的表具体参考Oracle 系统常用命令 6.2~6.3),代码如下:
一共有100张左右
2.3、dba_tables
它会显示所有方案拥有的数据库表,但是查询这种数据库字典视图,要求用户必须拥有dba或者是select any table的系统权限
system用户登录
一共有2800张左右的表
2.4、dba_users
它会显示当前数据库的所有用户的详细信息,查询该表必须具有dba或者select any table的权限
system用户登录
大约有30种用户,一般情况下
2.5、dba_sys_privs
它可以显示用户具有的系统权限,查询该表必须具有dba或者select any table的权限
system用户登录
system大约有800种系统权限
2.6、dba_tab_privs
它可以显示用户的对象权限,查询该表必须具有dba或者select any table的权限
system用户登录
system所拥有的对象权限大概有4万种
2.7、dba_role_privs
它可以显示用户所具有的角色,查询该表必须具有dba或者select any table的权限
system用户登录
system角色大概有131种角色
例:查询scott用户所具有的权限,这个的查询思路和普通的权限系统一致
1、首先查询scott的角色信息
2、查询
角色下有什么系统权限和对象权限
scott所拥有的所有的对象权限和系统权限
2.8、
2.9、查询当前数据库的全称
当前数据库名为ORCL
1、数据字典的组成:数据字典包括数据字典基表和数据字典视图
数据字典基表:基表存储数据库的基本信息,普通用户不能直接访问数据字典的基表
数据字典视图:数据字典视图是基于数据字典基表所建立的视图,普通用户可以通过访问该视图,来获取系统的信息
数据字典视图主要包括下面三种类型:
user_XXX,all_XXX,dba_XXX三种类型
2、数据字典对象介绍
2.1、user_tables
用户显示当前用户所拥有的所有表,他返回当前用户对应的方案的所有的表,代码如下:
select * from user_tables
此表不全
一共有4张左右
2.2、all_tables
用户显示当前用户可以访问的表(可能会存在别的用户的表具体参考Oracle 系统常用命令 6.2~6.3),代码如下:
select * from all_tables;
一共有100张左右
2.3、dba_tables
它会显示所有方案拥有的数据库表,但是查询这种数据库字典视图,要求用户必须拥有dba或者是select any table的系统权限
system用户登录
select * from dba_tables;
一共有2800张左右的表
2.4、dba_users
它会显示当前数据库的所有用户的详细信息,查询该表必须具有dba或者select any table的权限
system用户登录
select * from dba_users;
大约有30种用户,一般情况下
2.5、dba_sys_privs
它可以显示用户具有的系统权限,查询该表必须具有dba或者select any table的权限
system用户登录
select * from dba_sys_privs ;
system大约有800种系统权限
2.6、dba_tab_privs
它可以显示用户的对象权限,查询该表必须具有dba或者select any table的权限
system用户登录
select * from dba_tab_privs;
system所拥有的对象权限大概有4万种
2.7、dba_role_privs
它可以显示用户所具有的角色,查询该表必须具有dba或者select any table的权限
system用户登录
select * from dba_role_privs
system角色大概有131种角色
例:查询scott用户所具有的权限,这个的查询思路和普通的权限系统一致
1、首先查询scott的角色信息
select * from dba_role_privs where grantee='SCOTT'
2、查询
角色下有什么系统权限和对象权限
select * from dba_sys_privs where grantee='RESOURCE' UNION ALL select * from dba_sys_privs where grantee='CONNECT';
scott所拥有的所有的对象权限和系统权限
2.8、
2.9、查询当前数据库的全称
select * from global_name
当前数据库名为ORCL
相关文章推荐
- 在sqlplus中通过数据字典按条件查询信息(针对oracle),显示未选定行
- oracle通过数据字典查询看执行计划
- sql 通过数据字典查询表的相关信息
- ORACLE主要的系统表和数据字典视图
- Oracle常用数据字典查询
- 基于数据字典的通用查询系统(一)SQL语句的构成分析
- ORACLE系统数据字典
- 基于数据字典的通用查询系统(二)数据库组成结构的分析
- Oracle数据字典查询技巧
- 基于数据字典的通用查询系统(四)实体类的设计 1
- ORACLE主要的系统表和数据字典视图
- 与Oracle系统的包有关的数据字典
- ORACLE用户常用数据字典的查询使用方法
- ORACLE用户常用数据字典查询
- Oracle数据字典表查询
- ORACLE用户常用数据字典的查询使用方法
- oracle系统表的查询字典
- ORACLE用户常用数据字典的查询方法
- 通过存储过程,查询表的相关表字段信息(sqlserver,mysql,oracle)
- Oracle 常用数据字典、外键查询