数据字典
数据字典Oracle存放关于数据库内部信息的地方,用来描述数据库内部的运行和管理情况。例如,一个数据表的所有者,创建时间,所属表空间,用户访问权限等信息,这些信息都可以在数据字典中查找到。当用户操作数据库遇到困难时,就可以通过查询数据字典来提供帮助信息。
1. Oracle数据字典简介
Oracle数据字典的名称由前缀和后缀组成,使用下滑线'_'连接,其代表的含义如下。
a. dba_:包含数据库实例的所有对象信息。
b. v$_:当前实例的动态视图,包含系统管理和系统优化等所使用的视图。
c. user_:记录用户的对象信息。
d. gv_:分布式环境下所有实例的动态视图,包含系统管理和系统优化使用的视图。
e. all_:记录用户的对象信息机被授权访问的对象信息。
2. Oracle常用数据字典
虽然通过Oracle企业管理器(OEM)操作数据库比较方便,但它不利于读者了解Oracle系统的内部结构和应用系统对象之间的关系,所以建议读者尽量使用SQL*Plus来操作数据库。为了方便读者了解Oracle系统内部的对象结构和进行高层次的数据管理,下面给出最常用的数据字典及其说明。
2.1 基本数据字典
基本数据字典主要包括描述逻辑存储结构和物理存储结构的数据表,另外,还包括一些描述其他数据对象信息的表,如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 关于数据库中所有用户的信息
----------------------------------------------------------------
2.2 常用动态性能视图
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数据字典是一个不断发展和变化的内部表。