4.1 数据字典简介
数据字典是由 Oracle 服务器创建和维护的一组只读的系统表。
数据字典中存放了有关数据库和数据库对象的信息,Oracle 服务器就是依靠这些信息来管理和维护数据库的。
数据字典分为两大类,一类为基表,另一类为数据字典视图。
4.2 数据字典中所存的信息
a 数据库的逻辑结构和物理结构,如表空间和数据文件的信息。
b 所有数据库对象定义的信息。这些对象包括表、索引、视图、序列号、同义词、过程、函数,软件包和触发器等。
c 所有数据库对象的磁盘空间分配的信息,如对象所分配的磁盘空间和当前正在使用的磁盘空间。
d Oracle 用户名。
e 每个用户所授予的权限和角色。
f 完整性约束的信息。
g 列的默认值。
h 审计信息等。
4.3 数据字典的操作和使用
4.4 数据字典视图
数据字典视图分为三大类。它们用前缀来区别,其前缀分别为 USER、ALL、DBA。
USER_* :有关用户所拥有的对象信息,即用户自己创建的用户信息。
ALL_* :有关对象可以访问的对象信息,即用户自己创建的对象信息再加上其他用户创建的对象但该用户有权访问的信息。
DBA_* :有关整个数据库中对象的信息。
4.5 格式化数据字典视图的输出
4.6 如何使用数据字典视图
4.7 动态性能视图
动态性能视图是一组虚表。以 v$ 开头。、
利用动态性能视图可以获得如下信息 :会话活动的信息;对象打开或关闭的信息;对象在线或离线的信息。
4.8 数据字典应用实例
1) 查询 Oracle 数据库的名字、创建日期
select name, created, log_mode, open_mode from v$database;
2) 查询 Oracle 数据库的计算机主机名、Oracle 数据库的实例名及 Oracle 数据库管理系统的版本
select host_name, instance_name, version from v$instance;
3) 利用 v$session 查询数据库版本信息
select * from v$version;
4) 利用 v$controlfile 查询控制文件名
col name for a60select name from v$controlfile;
5) 查询重做日志的配置信息
select group#, members, bytes, status, archived from v$log;
6) 查询每个重做日志成员文件的具体位置
col member for a60select group#, member, from v$logfile;
7) 查看 Oracle 数据库的备份和恢复策略并确定归档文件的具体位置
archive log list
8) 查询 Oracle 数据库中又多少个表空间及每个表空间的状态
col tablespace_name for a15select tablespace_name, block_size, status, contents, logging from dba_tablespaces;
9) 查询每个表空间存在哪个磁盘上以及文件的名字等信息
col file_name for a56select file_id, file_name, tablespace_name, bytes/1024/1024 MB from dba_data_files;
10) Oracle 数据库上有多少用户及创建时间
select username, created from dba_users;