内容主要来源于Oracle官方文档(官网英文版和网络中文版)
Oracle Database Concepts
1.数据字典概述
数据字典是一组提供有关数据库管理元数据的只读表,包含如下信息:
1.数据库中模式对象的定义,包括列的默认值和完整性约束信息;
2.分配给模式对象和模式对象已经使用的空间量;
3.数据库用户的名称,授予用户的权限和角色、与用户相关的审计信息;
数据字典是数据库管理的核心部分,比如数据库会执行如下操作:
访问数据字典查找相关用户、模式对象很存储结构的信息;
每次发出DDL语言,修改数据字典;
1.1 数据字典的内容
数据字典由下列对象组成:
1、基表:这些基础表存储关于数据库的信息。只有数据库能够写和读这些表。用户很少直接访问基础表,因为它们已经被规范化,并且大部分数据被存储为隐藏格式;
2、视图:这些视图通过联接和过滤语句,简化基础表的数据称为有用的信息,例如用户或者表名。这些视图包含数据字典中所有对象的名称和描述。一些视图能够被所有数据用户访问,其他的职位管理员设计。
数据字典视图集
前缀 | 用户访问 | 内容 | 注意 |
---|---|---|---|
DBA_ | 数据库管理员 | 所有对象 | 一些DBA_视图包含对管理员有用的额外列 |
ALL_ | 所有用户 | 用户有权限的对象 | 包括用户拥有的对象。这些视图服从已启用的角色集合 |
USER_ | 所有用户 | 用户拥有的对象 | 这些视图通常不包含OWNER列,被隐含为查询该视图的用户 |
不是所有视图都有这三个成员。例如有DBA_LOCK,没有ALL_LOCK。
系统提供了一个名为DICTIONARY的视图,包含所有数据字典视图的名称和简短的描述。
以DBA_开头的视图
显示全库的相关信息,DBA_开头的视图只是为数据库管理员设计的。
例如:查询数据库的所有对象
SELECT OWNER, OBJECT_NAME