oracle官方:http://docs.oracle.com/cd/E11882_01/server.112/e40540/datadict.htm#CNCPT002


数据字典是只读的表和视图,动态性能视图在数据库运行时不断进行更新。


Overview of the Data Dictionary

数据字典提供数据库的管理元数据。包含以下信息:

  • 所有schema object(模式对象 注1)的定义,包含列的默认值及完整性约束。

  • schema object所分配及已使用的空间

  • 为oracle用户分配的用户、特权、角色,用户的审计信息

数据字典是oracle数据库进行数据管理的主要部分。例如,oracle执行以下内容:

  • 通过查询数据字典来获得用户、模式对象、存储结构

  • 每当下达一次DDL(数据定义语言)声明,更新一次数据字典

数据字典存在数据库表中,可以使用sql访问。

数据字典定义

数据字典由以下类型的对象组成:

  • 基本表

这些底层表存储数据库信息,只有数据库可以访问及修改这些表。一般用户不会访问这些表,因为数据格式化存储,并进行了加密

  • 视图

这些视图将基本表中的数据解析为有用信息,例如用户,表名。这些视图包含基本表中所有对象的命名和描述。一些视图可以被所有用户访问,一些视图则只提供给管理员使用。

数据字典视图按照用户分组管理。通常来说,三组视图通过其前缀区分。每一组视图只提供给其对应的用户查看。如下表:

PrefixUser AccessContentsNotes

DBA_

Database administrators

All objects

Some DBA_ views have additional columns containing information useful to the administrator.

ALL_

All users

Objects to which user has privileges

Includes objects owned by user. These views obey the current set of enabled roles.

USER_

All users

Objects owned by user

Views with the prefix USER_ usually exclude the column OWNER. This column is implied in the USER_ views to be the user issuing the query.

不是所有的视图都包含前述三个用户组的数据。例如,数据字典只包含DBA_LOCK而不包含ALL_LOCK视图。

系统自带的DICTIONARY视图包括所有数据字典视图的名字和简短说明。例:

wKioL1QlFyPTH09PAAB1WOb3s8c235.jpg

DBA_前缀的视图

DBA_前缀的视图是整个数据库的相关信息。

(为了举栗,写了个select*from dba_objects;到现在还没刷完。。。)

ALL_前缀的视图

翻译不下去了。。。效率太低,先默默去看原文文档。