Oracle数据字典
时间:2022-09-04 02:30:00
一、概述
Oracle通过数据字典来管理和展现数据库信息,数据字典储存数据库的元数据,是数据库的“数据库”。数据字典由4部分组成:内部RDBMS(X\$)表、数据字典表、动态性能视图(V\$)和(静态)数据字典视图。
保存在数据字典系统表中system表空间中。执行以下语句可以查询所有数据字典:
select * from dictionary;
二、内部RDBMS(X$)表
X\$表示Oracle这些表用于跟踪数据库的内部信息,维持数据库的正常运行。X\$表是加密命名的,而且Oracle不做文档说明,也不允许sysdba外部用户直接访问,显示授权不允许。X\$表是Oracle在数据库启动时,数据库的运行基础是Oracle动态创建应用程序。
三、动态性能视图
动态性能视图记录了数据库运行时的信息和统计数据,大多数动态性能视图实时更新,反映了数据库的当前状态。当数据库启动时,Oracle动态创建X\$在此基础上,表,Oracle创建了GV\$和V\$视图,GV\$即Global V\$,除了一些特例外,每个特例外V\$都对应一个GV\$。GV\$产生是为了OPS/RAC每个人都需要环境V\$都是基于GV\$的,只是GV\$多了INST_ID列来显示实例ID。
v\$database数据库信息
v\$datafile数据文件信息
v\$controlfile控制文件信息
v\$logfile重做日志信息
v\$instance数据库实例信息
v\$log日志组信息
v\$loghist日志历史信息
v\$sga数据库SGA信息
v\$parameter初始化参数信息
v\$process信息数据库服务器过程信息
v\$bgprocess数据库后台流程信息
v\$controlfile_record_section控制文件记录的各部分信息
v\$thread线程信息
v\$datafile_header数据文件头记录的信息
v\$archived_log归档日志信息
v\$archive_dest设置归档日志的信息
v\$logmnr_contents归档日志分析DMLDDL结果信息
v\$logmnr_dictionary字典文件信息日志分析
v\$logmnr_logs日志列表信息日志分析
v\$tablespace表空间信息
v\$tempfile临时文件信息
v\$filestat数据文件的I/O统计信息
v\$undostatUndo数据信息
v\$rollname在线回滚段信息
v\$session会话信息
v\$transaction事务信息
v\$rollstat回滚段统计信息
v\$pwfile_users特权用户信息
v\$sqlarea目前已查询sql语句访问的资源及相关信息
v\$sql与v\$sqlarea相关信息基本相同
v\$sysstat数据库系统状态信息
四、数据字典表
数据字典表(Data dictionary
table)通常用于存储表、索引、约束和其他数据库结构的信息\$结尾(例如:TAB\$、OBJ\$、TS\$等),创建数据库时通过运行\$ORACLE_HOME/rdbms/admin/sql.bsq创建脚本。
五、静态数据字典视图
由于X\$用户通常无法直接访问表和数据字典表。Oracle静态数据字典视图也被称为静态数据字典视图,因为它们通常相对稳定,不能直接修改。由静态数据字典视图创建数据库\$ORACLE_HOME/rdbms/admin/catagory.sql脚本创建。
根据前缀的不同,静态数据字典视图通常分为三类,本质上是为了实现权限控制。Oracle在数据库中,每个用户和解决方案(Schema)是对应的,Schema是用户拥有的对象的集合。数据库通过Schema隔离不同用户的对象,用户可以自由访问自己的对象,但要访问其他对象Schema对象需要相关授权。
1、USER_*(用户拥有的相关对象信息)
user_objects用户对象信息
user_source数据库用户的所有资源对象信息
user_segments用户的表段信息
user_tables用户的表对象信息
user_tab_columns用户列表信息
user_constraints用户对象约束信息
user_sys_privs当前用户的系统权限信息
user_tab_privs当前用户对象权限信息
user_col_privs当前用户表列权限信息
user_role_privs当前用户的角色权限信息
user_indexes用户索引信息
user_ind_columns用户索引对应的表列信息
user_cons_columns用户约束对应的表列信息
user_clusters所有用户信息
user_clu_columns用户的簇包含内容信息
user_cluster_hash_expressions散列信息
2、ALL_*(所有有权访问对象的信息)
all_users所有用户的信息数据库
all_objects数据库中所有对象的信息
all_def_audit_opts所有默认审计设置信息
all_tables所有的表对象信息
all_indexes所有数据库对象索引的信息
3、DBA_(数据库中所有相关对象的信息)
dba_users用户信息的数据库
dba_segments表段信息
dba_extents数据区信息
dba_objects数据库对象信息
dba_tablespaces数据库表空间信息
dba_data_files设置数据文件的信息
dba_temp_files临时数据文件信息
dba_rollback_segs回滚段信息
dba_ts_quotas用户表空间配额信息
dba_free_space数据库空闲空间信息
dba_profiles数据库用户资源限制信息
dba_sys_privs用户的系统权限信息
dba_tab_privs用户具有的对象权限信息
dba_col_privs用户拥有列对象权限信息
dba_role_privs用户的角色信息
dba_audit_trail审计跟踪记录信息
dba_stmt_audit_opts审计设置信息
dba_audit_object对象审计结果信息
dba_audit_session会话审计结果信息
dba_indexes索引信息的用户模式
六、版权声明
C请说明文章的来源、作者和原文的链接。
来源:C语言技术网(www.freecplus.net)
作者:码农有道
如果这篇文章对你有帮助,请表扬支持,或者在你的博客中转发我的文章,谢谢!
如文章有错别字,或内容有错误,或其他建议和意见,请留言指正,非常感谢!