来自:http://yangtingkun.itpub.net/post/468/19739
数据字典是Oracle数据库中最重要的部分之一,数据字典是一系列只读的表,用来提供数据库的信息。
数据字典包括:
所有方案对象的定义,如:表、视图、索引、聚簇、同义词、序列、过程、函数、包、触发器等;
分配给方案对象的空间,以及当前使用情况;
列的默认值;
完整性约束信息;
Oracle用户的名称;
用户被授予的权限和角色;
审计信息;
其他的数据库信息。
数据字典中包括两部分信息:基表和提供给用户访问的视图。所有的数据字典都保存在SYSTEM表空间中。所有的数据字典属于SYS用户。
数据字典主要有三种用途:
Oracle访问数据字典来获取用户、方案对象和存储结构等信息;
一旦有DDL语句发出,Oracle会相应的修改数据字典;
任何数据库用户可以把数据字典当做一个只读的参考,来获取数据库的信息。
数据字典的提供的视图包括两大类:以USER_、ALL_、DBA_开头的视图和以V_$开头的视图。
USER_开头的视图存储当前用户的信息,ALL_开头的表存储当前用户可以访问的信息,DBA_开头的视图存储数据库中所有的信息。
以V_$开头的视图,这些视图建立PUBLIC同义词,并以V$开头。这些视图记录Oracle当前的活动信息,因此,这些视图叫做动态性能表(dynamic performance tables)。
数据字典中还包含数据库对象的原数据,可以同使用DBMS_METADATA包来抽取出数据库对象的完整定义。