使用数据字典
一、内置数据库对象
创建数据库时,除创建数据库文件之外,还将创建其他几种结构
1.数据字典:包含对数据库中对象的说明
2.动态性能表:包含由DBA用来监视和优化数据库例程的信息
3.PL/SLQ程序包
4.数据库事件触发器
二、数据字典
数据是oracle数据库最重要的一部分,也是所有用户的重要信息来源,
它是一组只读表和视图,提供有关其他相关数据库的信息。执行数据定义语
言(DDL)和数据操纵语言(DML)oracle 服务器就会更新数据字典。
1.每个oracle数据库的中心
2.描述数据库以及数据库对象
3.包含只读表和视图
4.存储在SYSTEM表空间内
5.由用户SYS拥有
6.由oracle服务器进行维护
7.通过select访问
数据字典包含对数据库中的对象的说明。包括两种对象类型
1.基表:存储有关数据库的信息的底层表。基表是在任何 Oracle 数
据库中首先创建的对象。在使用CREATE DATABASE创建数据库时,只要
Oracle 服务器运行sql.bsq脚本,就会自动创建这些对象。只有 Oracle 服
务器才能对这些基表执行写入操作。用户很少直接访问基表,因为其中的数
据大多数都是以隐含格式存储的。切勿使用 DML 命令直接更新基表,但
AUD$ 表除外。例如,IND$ 表就是一个基表,它包含有关数据库中的索引
的信息 。
2.数据字典视图:基表的汇总,可以更有效地显示基表信息。例如,
在数据字典视图中,除了显示对象编号外还会使用对象名。数据字典视图是
在运行 CREATE DATABASE命令之后使用catalog.sql 脚本创建的。
三、数据字典的内容
1.数据库内所有方案对象的定义,这些对象包括表、视图、索引、簇
、同义词、序列、过程、函数、程序包、触发器等等
2.已为方案对象分配的空间量以及它们当前使用的空间量
3.完整性约束信息
4.Oracle 用户的名称
5.已授予每个用户的权限和角色
6.审计信息,如有哪些人访问或更新了各种方案对象
四、数据字典视图的类别
1.带有DBA 前缀的视图:有DBA 前缀的视图显示整个数据库的全局
视图。只有数据库管理员才能查询它们。
2.带有ALL 前缀的视图:带有ALL 前缀的视图指的是从用户角度看到
的完整数据库视图。这些视图返回有关方案对象的信息,除了用户所拥有的
方案对象外,还包括那些通过公开或显式授予权限和角色的方式让用户获得
访问权限的方案对象。
3.带有USER 前缀的视图:涉及数据库中用户自己独有的环境,通常
涉及当前用户所拥有的对象, 除OWNER列暗指当前用户外,具有与其它视
图一致的列,返回ALL 视图中信息的子集,为方便起见,可具有缩写的公共
同义词
五、常用的使用数据字典的命令
1.总览:DICTIONARY,DICT_COLUMNS
例如:select * from dictionary;
select * from dictionary where table_name like
'dba_seg%'
获得视图中各列的列表
DESCRIBE dba_users;
2.方案对象:
DBA_TBALES,DBA_INDEXES,DBA_TAB_COLUMNS,DBA_CONSTRAINTS
3.空间分配:DBA_SEGMENTS,DBA_EXTENTS
4.数据库结构:DBA_TABLESPACES,DBA_DATA_FILES