oracle常用数据字典
1、一、概念
数据字典是oracle存放着有关数据库信息的地方,其用途是用来描述数据的。比如一个表的创建者信息,所属表空间信息,用户访问权限信息等。当我们在进行对数据库中的数据进行操作时,如果遇到问题可以通过数据字典来查看信息可以更快的解决问题。
2、二、分类
1.静态数据字典
概念:
这类数据字典主要 是由表和视图组成,数据字典中的表是不能被访问的,但是可以访问数据字典中视图。静态数据字典中的视图分为三类,分别由三个前缀够成
(1.1)user_*
该视图存储了关于当前用户所拥有的对象的信息。(即所有在该用户模式下的对象)
示例1 user_users 视图中主要记录了当前用户的信息。


3、示例2 user_tables 主要描述当前用户拥有的所有表的信息。


4、另外也可以通过tab表来查看当前用户下所有的表与视图

5、示例3 user_objects 主要描述了当前用户拥有的所有对象的信息,包括表、视图、存储过程、触发器、包、序列等。


6、(1.2)all_*
该视图存储了当前用户能够访问的对象信息。(与user_*相比,all_*并不需要拥有该对象,只需要拥有访问对象的权限即可。)
(1.3)dba_*
该视图存储了数据库中所有的对象信息。不要访问dba_*视图需要具有管理员权限。
7、(1.4)共有视图 下列是一些 dba_ all_ user_都有的视图。由于视图比较多就不一一列举了。
示例


8、col_privs 包含了表的列权限信息,包含授予者,被授予者和权限名称等信息,
extents 存储分配信息,包括数据段名 表空间名和分区编号,分区大小
indexes 索引信息 包含索引类型, 唯一性, 索引作用等表的信息
ind_columns 索引列信息 包括索引上的列的排序方式等信息
object 对象信息, 包括对象名称 类型 创建时间 等信息
segments 表和索引的数据段信息,包括表空间,存储设置等信息
sequences 序列信息 包含序列名称 ,循环性,最大值等信息
source 除触发器之外的所有存储过程,函数,包的源代码信息
synonyms 同义词信息 包括引用的对象等信息
sys_privs 系统权限信息 包括系统权限名称 授予者
tab_columns 表和视图的列信息 ,包括列的数据类型等信息
tab_privs 表权限信息
tables 表信息 包括表所属的表空间 ,存储参数 ,数据行数量等信息。
triggers 触发器信息 包括触发器的类型,事件。触发器体等信息
users 用户信息 。包括用户临时和默认的表空间的类型
views 视图 信息
9、(1.5)权限视图
role_sys_privs 角色拥有的系统权限视图
role_tab_privs 角色拥有的对象权限
user_role _ privs 用户拥有的角色
user_sys_privs 用户拥有的权限的角色
user_tab_privs_mads 用户分配的关于表对象权限
user_tab_privs_recd 用户拥有的关于表对象权限
user_col_privs_mads 用户分配的关于列的对象权限
user_col_privs_recd 用户拥有的关于列的对象权限
示例

10、2.动态视图
动态视图只有sys或者 dba权限的用户可以访问。动态视图都以v$开头
经常使用的动态视图如下:
v$parameter v$sga v$session v$process v$instance v$version v$option
v$log v$logfiel v$datafile v$controlfile v$database v$thread v$datafile_header
v_$fixed_table
示例 日志组信息

11、示例 v$parameter 在这个视图中可以得到很多信息,例如控制文件、数据文件、参数文件等


12、v$access 包含当前被锁定的数据库对象及正在访问他们的会话
v$archive 包含归档所需的重做日志文件中的信息
v$ archived_log 包含从控制文件中获取的归档日志信息。
v$archive_processes 包含于一个实例相关的arch 进程的状态信息
v$ backup 包含联机数据文件的备份状态信息
v$backup_async_io 包括从控制文件中获取的备份集的信息
v$ backup_corruption 包含从控制文件中获取的有关数据文件备份中损坏的信息。
v$ backup_datafile 包含从控制文件中获取的备份的数据文件和备份控制文件的信息
v$ backup_device 包含支持备份设备的信息
v$backup_piece 包含从控制文件中获取的备份块的信息
v$backup_redolog 包含从控制文件中获取的关于备份集的归档日志的信息
v$backup_set 包含从控制文件中获取的备份集的信息
v$bgprocess 包含数据库后台进程信息
v$ buffer_pool 包含当前实例中所有可用缓冲池的信息
v$ buffer_pool_statistics 包含当前实例所有可用缓冲池的统计信息
v$ cache 包含当前实例的SGA 中的每一块的头部信息
v$context 包含当前对话的属性信息。
v$controlfile 包含控制文件信息
v$ controlfile_record_section 包含控制文件记录部分的信息
v$ copy_curruption 包含从控制问价中获取的数据文件副本损坏的信息
v$database 包含从控制文件中获取的数据库信息
v$datafile 包含从控制文件中获取的数据文件信息
v$datafile_copy 包括从控制文件中获取的数据文件副本的信息
v$datafile_header 包含数据文件头部信息
v$ db_object_cache 包含缓存在库高速缓冲中的数据库对象信息
v$db_pipes 包含当前数据库中的管道信息
v$deleted_object 包含从控制文件中获取的被删除的归档日志,数据文件副本和备份块的信息
v$ dispatcher_rate 包含调度进程速率统计量的信息
v$ dispatche 包含调度进程的信息
v$ DLM_ALL_LOCKS 包含当前所有锁
v$ DLM_CONVERT_LOCAL 包含本地锁转换操作所消耗的时间的信息
v$ EVENT_NAME 包含等待时间的信息
v$ fixed_table 包含所有可用的动态性能视图和动态性能表的信息
v$ sysstat 包含当前实例的性能统计信息
v$ instance 包含当前实例的详细信息
v$sga 包含 SGA 区的主要组成部分的信息
v$ sgainfo 包含SGA 区的详细消息
v$ parameter 包含初始化参数信息
v$ sversion 包含Oracle 版本信息
v$ option 包含已安装的 Oraclette组件的选项信息
v$session 包含当前所有会话信息
v$process 包含当前系统所有进程信息
v$ bgprocess 包含数据库所有后台进程信息
v$ database 包含当前数据库信息
v$ controlfile 包含当前数据库所有控制文件信息
v$ datafile 包含当前数据库所有的数据文件的信息
v$ dbfile 包含所有数据文件的编号信息
v$ logfile 包含当前数据库所有的重做日志文件信息
v$ log 包含当前数据库重做日志文件信息
v$ log_history 包含重做日志文件切换情况的历史信息
v$ thread 包含当前数据库线程的信息
v$ lock 包含锁的信息
v$ locked_object 包含被加锁的数据库对象信息
v$ rollname 包含当前处于联机状态的回退信息
v$ rollstat 包含当前所有的回退段的统计信息
v$ tablespace 包含当前数据库所有表空间信息
v$ tempfile 包含当前数据库多有的临时数据文件的信息 ;