一、数据字典的分类
1、静态数据字典表
2、静态数据字典视图
3、动态数据字典表
4、动态数据字典视图
二、数据字典的使用
1、静态数据字典表
静态数据字典表只能由 ORACLE 进行维护。
2、静态数据字典视图
通常用户通过对静态数据字典视图的查询可以获取所需要的所有数据库信息。
i. user_:包含了当前数据库用户所拥有的所有的模式对象的信息
ii. all_:包含了当前数据库用户可以访问的所有的模式对象的信息
iii. dba_:包含了所有数据库对象信息,只有具有DBA角色的用户才嫩而过访问的这些视图
b) 常用的静态视图家族,都有一个DBA_ ALL_ USER_ 的视图
i. col_privs 包含了表的列权限信息,包含授予者,被授予者和权限名称等信息
ii. extents 存储分配信息,包括数据段名 表空间名和分区编号,分区大小
iii. indexes 索引信息 包含索引类型, 唯一性, 索引作用等表的信息
iv. ind_columns 索引列信息 包括索引上的列的排序方式等信息
v. object 对象信息, 包括对象名称 类型 创建时间 等信息
vi. segments 表和索引的数据段信息,包括表空间,存储设置等信息
vii. sequences 序列信息 包含序列名称 ,循环性,最大值等信息
viii. source 除触发器之外的所有存储过程,函数,包的源代码信息
ix. synonyms 同义词信息 包括引用的对象等信息
x. sys_privs 系统权限信息 包括系统权限名称 授予者
xi. tab_columns 表和视图的列信息 ,包括列的数据类型等信息
xii. tab_privs 表权限信息
xiii. tables 表信息 包括表所属的表空间 ,存储参数 ,数据行数量等信息。
xiv. triggers 触发器信息 包括触发器的类型,事件。触发器体等信息
xv. users 用户信息 。包括用户临时和默认的表空间的类型
xvi. views 视图 信息
c) 权限视图
i. role_sys_privs 角色拥有的系统权限视图
ii. role_tab_privs 角色拥有的对象权限
iii. user_role_ privs 用户拥有的角色
iv. user_sys_privs 用户拥有的权限的角色
v. user_tab_privs_mads 用户分配的关于表对象权限
vi. user_tab_privs_recd 用户拥有的关于表对象权限
vii. user_col_privs_mads 用户分配的关于列的对象权限
viii. user_col_privs_recd 用户拥有的关于列的对象权限
3、动态性能视图
只有sys 用户和拥有DBA 角色的用户可以访问 。
a) 在数据库启动到 NOMOUNT 的状态时,可以访问
i. v$parameter
ii. v$sga
iii. v$session
iv. v$process
v. v$instance
vi. v$version
vii. v$option
b) 当数据库启动到 mount 的状态时,我们还可以访问
i. v$log
ii. v$logfile
iii. v$datafile
iv. v$controlfile
v. v$database
vi. v$thread
vii. v$datafile_header
c) 当数据库完全启动后。可以访问v_$fixed_table
i. v$access 包含当前被锁定的数据库对象及正在访问他们的会话
ii. v$archive 包含归档所需的重做日志文件中的信息
iii. v$archived_log 包含从控制文件中获取的归档日志信息。
iv. v$archive_processes 包含于一个实例相关的arch 进程的状态信息
v. v$backup 包含联机数据文件的备份状态信息
vi. v$backup_async_io 包括从控制文件中获取的备份集的信息
vii. v$backup_corruption 包含从控制文件中获取的有关数据文件备份中损坏的信息。
viii. v$backup_datafile 包含从控制文件中获取的备份的数据文件和备份控制文件的信息
viii. v$backup_device 包含支持备份设备的信息
ix. v$backup_piece 包含从控制文件中获取的备份块的信息
x. v$backup_redolog 包含从控制文件中获取的关于备份集的归档日志的信息
xi. v$backup_set 包含从控制文件中获取的备份集的信息
xii. v$bgprocess 包含数据库后台进程信息
xiii. v$buffer_pool 包含当前实例中所有可用缓冲池的信息
xiv. v$buffer_pool_statistics 包含当前实例所有可用缓冲池的统计信息
xv. v$cache 包含当前实例的SGA 中的每一块的头部信息
xvi. v$context 包含当前对话的属性信息。
xvii. $controlfile 包含控制文件信息
xviii. v$controlfile_record_section 包含控制文件记录部分的信息
xix. v$copy_curruption 包含从控制问价中获取的数据文件副本损坏的信息
xx. v$database 包含从控制文件中获取的数据库信息
xxi. v$datafile 包含从控制文件中获取的数据文件信息
xxii. v$datafile_copy 包括从控制文件中获取的数据文件副本的信息
xxiii. v$datafile_header 包含数据文件头部信息
xxiv. v$db_object_cache 包含缓存在库高速缓冲中的数据库对象信息
xxv. v$db_pipes 包含当前数据库中的管道信息
xxvi. v$deleted_object 包含从控制文件中获取的被删除的归档日志,数据文件副本和备份块的信息
xxvii. v$dispatcher_rate 包含调度进程速率统计量的信息
xxviii. v$dispatche 包含调度进程的信息
xxix. v$DLM_ALL_LOCKS 包含当前所有锁
xxx. v$DLM_CONVERT_LOCAL 包含本地锁转换操作所消耗的时间的信息
xxxi. v$EVENT_NAME 包含等待时间的信息
xxxii. v$fixed_table 包含所有可用的动态性能视图和动态性能表的信息
xxxiii. v$sysstat 包含当前实例的性能统计信息
xxxiv. v$instance 包含当前实例的详细信息
xxxv. v$sga 包含 SGA 区的主要组成部分的信息
xxxvi. v$sgainfo 包含SGA 区的详细消息
xxxvii. v$parameter 包含初始化参数信息
xxxviii. v$sversion 包含Oracle 版本信息
xxxix. v$option 包含已安装的 Oraclette组件的选项信息
xl. v$session 包含当前所有会话信息
xli. v$process 包含当前系统所有进程信息
xlii. v$bgprocess 包含数据库所有后台进程信息
xliii. v$database 包含当前数据库信息
xliv. v$controlfile 包含当前数据库所有控制文件信息
xlv. v$datafile 包含当前数据库所有的数据文件的信息
xlvi. v$dbfile 包含所有数据文件的编号信息
xlvii. v$logfile 包含当前数据库所有的重做日志文件信息
xlviii. v$log 包含当前数据库重做日志文件信息
xlix. v$log_history 包含重做日志文件切换情况的历史信息
l. v$thread 包含当前数据库线程的信息
li. v$lock 包含锁的信息
lii. v$locked_object 包含被加锁的数据库对象信息
liii. v$rollname 包含当前处于联机状态的回退信息
liv. v$rollstat 包含当前所有的回退段的统计信息
lv. v$tablespace 包含当前数据库所有表空间信息
lvi. v$tempfile 包含当前数据库多有的临时数据文件的信息