数据字典Oracle存放关于数据库内部信息的地方,用来描述数据库内部的运行和管理情况。例如,一个数据表的所有者,创建时间,所属表空间,用户访问权限等信息,这些信息都可以在数据字典中查找到。当用户操作数据库遇到困难时,就可以通过查询数据字典来提供帮助信息。
Oracle数据字典的名称由前缀和后缀组成,使用下滑线'_'连接,其代表的含义如下。 a. dba_:包含数据库实例的所有对象信息。 b. v$_:当前实例的动态视图,包含系统管理和系统优化等所使用的视图。 c. user_:记录用户的对象信息。 d. gv_:分布式环境下所有实例的动态视图,包含系统管理和系统优化使用的视图。 e. all_:记录用户的对象信息机被授权访问的对象信息。
虽然通过Oracle企业管理器(OEM)操作数据库比较方便,但它不利于读者了解Oracle系统的内部结构和应用系统对象之间的关系,所以建议读者尽量使用SQL*Plus来操作数据库。为了方便读者了解Oracle系统内部的对象结构和进行高层次的数据管理,下面给出最常用的数据字典及其说明。
基本数据字典主要包括描述逻辑存储结构和物理存储结构的数据表,另外,还包括一些描述其他数据对象信息的表,如dba_views, dba_triggers, dba_users等。基本数据字典及其说明如表:
基本数据字典及其说明 ---------------------------------------------------------------- 数据字典名称 说明 ---------------------------------------------------------------- dba_tablespaces 关于表空间的信息 dba_ts_quotas 所有用户表空间限额 dba_free_space 所有表空间中的自由分区 dba_segments 描述数据库中所有段的存储空间 dba_extents 数据库中所有分区信息 dba_tables 数据库中所有数据表的描述 dba_tab_columns 所有表,视图以及簇的列 dba_views 数据库中所有视图的信息 dba_synonyms 关于同义词的信息查询 dba_sequences 所有用户序列信息 dba_constrains 所有用户表的约束信息 dba_indexs 关于数据库中所有索引的描述 dba_ind_columns 在所有表及簇上压缩索引的列 dba_triggers 所有用户的触发器信息 dba_source 所有用户的存储过程信息 dba_data_files 查询关于数据库文件的信息 dba_tab_grants/privs 查询关于对象授权的信息 dba_objects 数据库中所有的对象 dba_users 关于数据库中所有用户的信息 ----------------------------------------------------------------
Oracle系统内部提供了大量的动态性能视图,之所以说"动态",是因为这些视图的信息在数据库运行期间会不断地更新。动态性能视图以v$作为名称前缀,这些视图提供了关于内存和磁盘的运行情况,用户只能进行只读访问而不能修改它们。常用的动态性能视图及其说明如表:
常用动态性能视图 ---------------------------------------------------------------- 数据字典名称 说明 ---------------------------------------------------------------- v$database 描述关于数据库的相关信息 v$datafile 数据库使用的数据文件信息 v$log 从控制文件中提取有关重做日志组的信息 v$logfile 有关实例重置日志组文件名及其位置的信息 v$archived_log 记录归档日志文件·的基本信息 v$archived_dest 记录归档日志文件的路径信息 v$controlfile 描述控制文件的相关信息 v$instance 记录实例的基本信息 v$system_parameter 显示实例当前有效的参数信息 v$sga 显示实例的SGA的大小 v$sgastat 统计SGA使用情况的信息 v$parameter 记录初始化参数文件中的所有项的值 v$lock 通过访问数据库会话,设置对象锁的所有信息 v$session 有关会话的信息 v$sql 记录SQL语句的详细信息 v$sqltext 记录SQL语句的语句信息 v$bgprocess 显示后台进程信息 v$process 当前进程的信息
上面介绍了Oracle数据字典的基本内容,实际上Oracle数据字典的内容非常丰富,这里因篇幅有限,不能一一列举,需要读者在学习和工作中逐渐积累。运用好数据字典技术,可以使用户能够更好地了解数据库的全貌,这样对于数据库优化,管理等有极大的帮助。
Oracle数据字典是一个不断发展和变化的内部表。