数据字典(data dictionary) 是Oracle 数据库的一个重要组成部分,这是一组用于记录数据库信息的只读(read-only)表。数据字典包含:
1 数据库中所有方案对象的定义(包括表,视图,索引,簇,同义词,序列,过程,函数,包,触发器等等)
2 数据库为一个方案对象分配了多少空间,以及该对象当前使用了多少空间
3 列的默认值
4 完整性约束(integrity constraint)信息
5 数据库用户名
6 每个用户被授予的权限与角色
7 监控(审计)信息
8 数据空中其他概要信息
与数据库内的其他数据相同,数据字典也是以表及视图的形式组织的。一个数据库全部的数据字典与数据字典视图都存储在该数据库的SYSTEM 表空间内。
常见的数据字典:
DBA_SYNONYMS
DBA_SYS_PRIVS
DBA_TABLES
DBA_TABLESPACES
……
数据字典的前缀
USER_数据字典
普通数据库用户最常使用的是以USER 为前缀的数据字典(如:
USER_TABLES,USER_INDEXES,USER_SOURCE)
这些视图的特点是:
a 反映了数据库中某个用户的全部情况,包括由此用户创建的方案对象,此用户所做的授权行为等等。
b 只展示和某个用户相关的信息
c 与其他视图(DBA_视图,ALL_视图)拥有县公共的列,只有OWNER信息是隐含的
d 其内容是以 ALL为前缀的视图的子集
例如:以下查询返回当前用户方案内的全部数据库对象:
SELECT object_name, object_type FROM USER_OBJECTS;
ALL_ 数据字典
以ALL为前缀的视图反映了某个用户所能看到的全部数据库内容。其中除了包含用户所拥有的方案对象之外,还包含了用户可访问的公共对象,以及通过授予权限或角色而能够访问的方案对象。
SELECT owner, object_name, object_type FROM ALL_OBJECTS;
DBA_数据字典
以DBA为前缀的视图能够展现整个数据库的全部内容。
SELECT owner, object_name, object_type FROM SYS.DBA_OBJECTS;
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/22206864/viewspace-747778/
,如需转载,请注明出处,否则将追究法律责任。