摘要:数据字典是Oracle存放有关数据库信息的地方,几乎所有的系统信息和对象信息都可在数据字典中进行查询。数据字典是Oracle数据库系统的信息核心,它是一组提供有关数据库信息的表和视图的集合,这些表和视图是只读的。它是随着数据库的建立而建立的,当数据库执行特定动作时数据字典也会自动更新。数据一览与数据字典来记录、校验和管理正在进行的操作。Oracle中的sys用户是数据字典的拥有者,数据字典保证在所有数据库的系统表空间system内,任何用户都无权更改sys模式下的模式对象或数据字典中的行。也就是说数据字典只能查询,不能手动进行修改。
Oracle通过数据字典来管理和展现数据库信息,数据字典通常储存数据库的元数据,是数据库的数据库。通常说的数据字典由4部分组成:内部RDBMS(X$)表、数据字典表、动态性能视图(V$)和(静态)数据字典视图。(两表两视图)。数据字典内容包括以下八方面内容:一是数据库中所有模式对象的信息,如表、视图、簇、及索引等;二是分配多少空间,当前使用了多少空间等;三是列的缺省值;四是约束信息的完整性;五是Oracle用户的名字;六是用户及角色被授予的权限;七是用户访问或使用的审计信息;八是其它产生的数据库信息。
现将有关Oracle的数据字典方面的知识整理出来,供参考。详细内容请看下文。
一、访问Oracle数据库
1、切换到oracle 用户: su - oracle
2、查看oracle 监控: lsnrctl status
3、访问oracle 数据库: sqlplus / as sysdba
二、Oracle数据字典表
1、执行语句select * from dictionary查看Oracle数据字典表
备注:set linesize 180; 设置行的总宽度为180字节。col comments format 30; 调整comments列宽度为30个字符。
2、执行下面语句查询跟索引有关的数据字典
SQL>select*fromdictionarywhereinstr(comments,index)>0;
3、执行下面语句查询user_indexes表各字段名称的详细含义
SQL>selectcolumn_name,commentsfromdict_columnswheretable_name=USER_INDEXES;
4、执行下面语句查看当前用户的缺省表空间
SQL>selectusername,default_tablespacefromuser_users;
5、执行下面语句查看当前用户的角色
SQL>select*fromuser_role_privs;
6、执行下面语句查看当前用户的系统权限和表级权限
SQL>select*fromuser_sys_privs;
SQL>select*fromuser_tab_privs;
7、执行下面语句查询用户拥有哪些数据库对象,包括表、视图、存储过程、触发器、包、索引、序列、JAVA文件等
SQL>select object_name,OBJECT_TYPE from user_objects;
8、通过视图显示数据库中锁定的数据库对象以及访问这些对象的会话对象(session对象)
SQL>select * from v$access;
9、通过视图列出当前会话的详细信息
SQL>select * from v$session;
10、查看数据库的当前连接数
SQL>selectschemaname,osuser,machinefromv$session;
11、查看函数和过程的状态
SQL>selectobject_name,statusfromuser_objectswhereobject_type=FUNCTION;
SQL>selectobject_name,statusfromuser_objectswhereobject_type=PROCEDURE;
12、查看函数和过程的源代码
SQL>selecttextfromall_sourcewhereowner=userandname=upper(&plsql_name);
特别声明:文章来源用户上传并发布,本站只提供信息存储服务,不拥有所有权,内容仅供参考。