现在的位置: 首页 > 综合 > 正文

Oracle数据库字典介绍

2013年10月12日 ⁄ 综合 ⁄ 共 7961字 ⁄ 字号 评论关闭
Oracle数据字典是有表和视图组成的,存储有关数据库结构信息的一些数据库对象。数据库字典描述了实际数据是如何组织的。对它们可以象处理其他数据库表或视图一样进行查询,但不能进行任何修改。
Oracle数据库字典通常是在创建和安装数据库时被创建的,Oracle数据字典是Oracle数据库系统工作的基础,没有数据字典的支持,Oracle数据库系统就不能进行任何工作。
在Oracle数据库字典中,许多视图都有三个不同的实例,它们的前缀分别为"USER_"、"ALL_"及"DBA_"。"USER_"为前缀的数据库字典视图通常记录执行查询的帐户所拥有的对象的信息,"ALL_"为前缀的数据库字典视图通常记录包括执行查询的帐户所拥有的对象的信息及授权至PUBLIC的帐户用户所拥有的对象的信息,"DBA_"为前缀的数据库字典视图则包含所有数据库对象的信息,而不管其所有者。其他的字典视图中主要的是V$视图,之所以这样叫是因为他们都是以V$或GV$开头的。V$视图是基于X$虚拟视图的。V$视图是SYS用户所拥有的,在缺省状况下,只有SYS用户和拥有DBA系统权限的用户可以看到所有的视图,没有DBA权限的用户可以看到USER_和ALL_视图,但不能看到DBA_视图。与DBA_,ALL,和USER_视图中面向数据库信息相反,这些视图可视的给出了面向实例的信息。
在Oracle的绝大多数数据字典视图中都有象DBA_TABLES,ALL_TABLES和USER_TABLES这样的视图家族。Oracle中有超过100个视图家族,下表列出了最重要和最常用的视图家族,需要注意的是每个视图家族都有一个DBA_,一个ALL_一个USER_视图。
视图家族  描述 
COL_PRIVS  包含了表的列权限,包括授予者、被授予者和权限 
EXTENTS  数据范围信息,比如数据文件,数据段名(segment_name)和大小 
INDEXES  索引信息,比如类型、唯一性和被涉及的表 
IND_COLUMNS  索引列信息,比如索引上的列的排序方式 
OBJECTS  对象信息,比如状态和DDL time 
ROLE_PRIVS  角色权限,比如GRANT和ADMIN选项 
SEGMENTS  表和索引的数据段信息,比如tablespace和storage 
SEQUECNCES  序列信息,比如序列的cache、cycle和ast_number 
SOURCE  除触发器之外的所有内置过程、函数、包的源代码 
SYNONYMS  别名信息,比如引用的对象和数据库链接db_link 
SYS_PRIVS  系统权限,比如grantee、privilege、admin选项 
TAB_COLUMNS  表和视图的列信息,包括列的数据类型 
TAB_PRIVS  表权限,比如授予者、被授予者和权限 
TABLES  表信息,比如表空间(tablespace),存储参数(storage parms)和数据行的数量 
TRIGGERS  触发器信息,比如类型、事件、触发体(trigger body) 
USERS  用户信息,比如临时的和缺省的表空间 
VIEWS  视图信息,包括视图定义 
在Oracle中还有一些不常用的数据字典表,但这些表不是真正的字典家族,他们都是一些重要的单一的视图。这些视图见下表:
视图名称  描述 
USER_COL_PRIVS_MADE  用户授予他人的列权限 
USER_COL_PRIVS_RECD  用户获得的列权限 
USER_TAB_PRIVS_MADE  用户授予他人的表权限 
USER_TAB_PRIVS_RECD  用户获得的表权限

名称 含义
DBA_2PC_NEIGHBORS 包含待处理事务进入连接和退出连接信息。
DBA_2PC_PENDING 包含等待恢复的分布式事务的信息。
DBA_ALL_TABLES  显示数据库中所有表(对象表和关系表)的描述。
DBA_ANALYZE_OBJECTS 列出分析对象。
DBA_ASSOCIATIONS 列出用户定义的统计信息。
DBA_AUDIT_EXISTS  列出由AUDIT
NOT EXISTS(不存在审计)和AUDIT EXISTS(存在审计)产生的审计跟踪条目。
DBA_AUDIT_OBJECT 包含系统中所有对象的审计跟踪记录。
DBA_AUDIT_SESSION 列出关于CONNECT(连接)和DISCONNECT(断开连接)的所有审讯跟踪记录。
DBA_AUDIT_STATEMENT 列出关于GRANT(授权)、REVOKE(取消)、AUDIT〔审计〕、NOAUDIT(不审计)和ALTER
SYSTEM(改变系统)语句的审记跟踪记录。
DBA_AUDIT_TRAIL 列出所有的审记跟踪条目。
DBA_BLOCKERS 列出所有人等待一个会话持有的锁的所有会话,但并非它们自己在等待一个锁。
DBA_CATALOG  列出所有数据库表、视图、同义词和序列。
DBA_CLU_COLUMNS   列出表列到簇列的映射。
DBA_CLUSTER_HASH_EXPRESSIONS 列出所有簇的散列(hash)函数。
DBA_CLUSTERS 包含数据库中所有族的描述。
DBA_COL_COMMENS  列出所有表和视图列的注解。
DBA_COL_PRIVS   列出数据库中授予列的所有权限。
DBA_COLL_TYPES  显示数据库中所有命名的集合类型,如VARRAY(数组)、嵌套表、对象表,等等;
DBA_CONS_COLUMNS 包含在约束定义中的,可访问的列的信息。
DBA_CONSTRAINTS    包含所有表上的约束定义。
DBA_CONTEXT  列出所有上下文名字空间的信息。
DBA_DATA_FILES   包含有关数据库文件的信息。
DBA_DB_LINKS    列出数据库中的所有数据库链接。
DBA_DDL_LOCKS   列出数据库持有的所有DDL锁,及所有对一个DDL锁的未定请求。
DBA_DEPENDENCIES  列出对象之间的依赖性。在没有任何数据库链接时所创建的视图上的依赖性也是可用的。
DBA_DIM_ATTRIBUTES   代表维级和功能依赖的列之间的关系。维级列所在的表,必须与所依赖列所在的表相匹配。
DBA_DIM_CHILD_OF  代表在维中的一对维级之间的1:n的层次关系。
DBA_DIM_HIERARCHIES    代表一个维层次。
DBA_DIM_JOIN_KEY  代表两个维表之间的连接。这种连接通常在一个双亲维级列和一个子列之间指定。
DBA_DIM_LEVEL_KEY    代表一个维级的列。一个级中列的位置通过KEY_POSITION来指定。
DBA_DIM_LEVELS  代表一个维级。一个维级的所有列,必须来自于同一关系。
DBA_DIMENSIONS   代表维对象。
DBA_DIRECTORIES  提供数据库中所有目录对象的信息。
DBA_DML_LOCKS   列出数据库中持有的所有DML锁,和对一个DML锁的所有未决请求。
DBA_ERRORS   列出数据库中所有存储的对象的当前错误。
DBA_EXP_FILES  包含导出文件的描述。
DBA_EXP_OBJECTS   列出以增量方式导出的对象。
DBA_EXP_VERSION  包含最后导出会话的版本号。
DBA_EXTENTS  列出数据库中组成所有段的区。
DBA_FREE_SPACE     列出所有表空间中的空闲分区。
DBA_FREE_SPACE_COALESCED  包含表空间中合并空间的统计数据。
DBA_IND_COLUMNS 包含在所有表和簇中组成索引的列的描述。
DBA_IND_EXPRESSIONS  列出在所有表和簇中函数型索引的表达示。
DBA_IND_PARTITIONS   为每一个索引分区,描述分区级的分区信息、分区的存储参数和由ANALYZE决定的各种分区统计数据。
DBA_IND_SUBPARTITIONS 为当前用户拥有的每一个索引子分区,描述分区级的分区信息、子分区的存储参数和由ANALYZE决定的各种分区统计数据。
DBA_INDEXES  包含数据库中所有索引的描述。
DBA_INDEXTYPE_OPERATORS    列出由索引类型支持的所有操作符。
DBA_INDEXTYPES  列出所有的索引类型。
DBA_JOBS     列出数据库中的所有作业。
DBA_JOBS_RUNNING  列出数据库中当前运行的所有作业。
DBA_LIBRARIES   列出数据库中所有的库。
DBA_LOB_PARTITIONS   显示包含在表中的用户可访问的LOB。
DBA_LOB_SUBPARTITIONS 显示LOB数据子分区中的分区级属性。
DBA_LOBS   显示包含在所有表中的LOB。
DBA_LOCK_INTERNAL 包含每个被持有的锁或简易锁的一行信息,及锁或简易锁的每一个未决定请求的一行信息。
DBA_LOCKS  列出数据库中持有的所有锁或简易锁,及一个锁或简易锁的所有未决请求。
DBA_METHOD_PARAMS  包含数据库中类型的方法参数的描述。
DBA_METHOD_RESULTS 包含数据库中所有类型的方法结果的描述。
DBA_MVIEW_AGGREGATES  代表在聚集实例化视图的SELECT列表中出现的分组函数(聚集方法)。
DBA_MVIEW_ANALYSIS  代表潜在地支持查询重写,并有可用于应用程序分析的附加信息的实例化视图。这种视图包括任何引用远程表或者包括如SYSDATE或USER等非静态值的实例化视图。
DBA_MVIEW_DETAIL_RELATIONS 代表命名细节关系,这些关系或者在一个实例化视图的FROM列表中,或者直接通过FORM列表中的视图引用。在这个表中,没有表示实例化视图中的内嵌视图。
DBA_MVIEW_JOINS 在一个实例化视图的WHERE子句中,代表两个列之间的连接。
DBA_MVIEW_KEYS   代表命名细节关系,这些关系或者在一个实例化视图的FROM列表中,或者直接通过FORM列表中的视图引用。在这个表中,没有表示实例化视图中的内嵌视图。
DBA_NESTED_TABLES  显示包含在所有表中的嵌套表的描述。
DBA_OBJ_AUDIT_OPTS   列出一个用户所拥有的所有对象的审计选项。
DBA_OBJECT_SIZE  列出各类PL/SQL对象的、用字节数表示大小。
DBA_OBJECT_TABLES  显示数据库中所有对象表的描述。
DBA_OBJECTS      列出数据库中所有的对象。
DBA_OPANCILLARY  列出操作符连接的附加信息。
DBA_OPARGUMENTS 列出操作符连接的参数信息。
DBA_OPBINDINGS   列出操作符连接。
DBA_OPERATORS  列出操作符。
DBA_OUTLINE_HINTS   列出组成概要的提示集。
DBA_OUTLINES  列出有关概要的信息。
DBA_PART_COL_STATISTICS 包含所有表分区的列统计数据和直方图信息。
DBA_PART_HISTOGRAMS  包含所有表分区上直方图的直方图数据(每个直方图的端点)。
DBA_PART_INDEXES 列出所有分区索引的对象级分区信息。
DBA_PART_KEY_COLUMNS 描述所有分区对象的分区关键字列。
DBA_PART_LOBS  描述分区LOB的表级信息,包括LOB数据分区的缺省属性。
DBA_PART_TABLES  列出所有分区表的对象级分区信息。
DBA_PARTIAL_DROP_TABS 描述部分删除的表。
DBA_PENDING_TRANSACTIONS 提供关于未完成事务(由于故障或协调器没有提交或回滚)的信息。
DBA_POLICIES  列出策略。
DBA_PRIV_AUDIT_OPTS  描述通过系统和由用户审计的当前系统权限。
DBA_PROFILES 显示所有启动文件及其限制。
DBA_QUEUE_SCHEDULES 描述当前传播信息的方案。
DBA_QUEUE_TABLES 描述在数据库中建立的所有队列表中的队列的名称和类型。
DBA_QUEUE 描述数据库中每一个队列的操作特征。
DBA_RCHILD  列出任何刷新组中的所有子组。
DBA_REFRESH    列出所有刷新组。
DBA_REFRESH_CHILDREN 列出刷新组中所有对象。
DBA_REFS  描述数据库中所有表的对象类型列中的REF列和REF属性。
DBA_REGISTERED_SNAPSHOT_GROUPS 列出该场地的所有快照登记组。
DBA_REGISTERED_SNAPSHOT  检索本地表的远程快照的信息。
DBA_REPCAT_REFRESH_TEMPLATES    与Advanced
Replication(高级复制)一起使用。
DBA_REPCAT_TEMPLATES_PARMS    与Advanced Replication(高级复制)一起使用。
DBA_REPCAT_TEMPLATES_SITES  与Advanced
Replication(高级复制)一起使用。
DBA_REPCAT_USER_AUTHORIZATIONS 与Advanced Replication(高级复制)一起使用。
DBA_REPCAT_USER_PARM_VALUES  与Advanced
Replication(高级复制)一起使用。
DBA_REPCATLOG  与Advanced Replication(高级复制)一起使用。
DBA_REPCOLUMN  与Advanced
Replication(高级复制)一起使用。
DBA_REPCOLUMN_GROUP 与Advanced Replication(高级复制)一起使用。
DBA_REPCONFLICT  与Advanced
Replication(高级复制)一起使用。
DBA_REPDDL  与Advanced Replication(高级复制)一起使用。
DBA_REPGENERATED 与Advanced
Replication(高级复制)一起使用。
DBA_REPGENOBJECTS  与Advanced Replication(高级复制)一起使用。
DBA_REPGROUP 与Advanced
Replication(高级复制)一起使用。
DBA_REPGROUPED_COLUMN 与Advanced Replication(高级复制)一起使用。
DBA_REPKEY_COLUMNS 与Advanced
Replication(高级复制)一起使用。
DBA_REPOBJECT 与Advanced Replication(高级复制)一起使用。
DBA_REPPARAMETER_COLUMN  与Advanced
Replication(高级复制)一起使用。
DBA_REPPRIORITY 与Advanced Replication(高级复制)一起使用。
DBA_REPPRIORITY_GROUP  与Advanced
Replication(高级复制)一起使用。
DBA_REPPROP 与Advanced Replication(高级复制)一起使用。
DBA_REPPESOL_STATS_CONTROL  与Advanced
Replication(高级复制)一起使用。
DBA_REPRESOLUTION  与Advanced Replication(高级复制)一起使用。
DBA_REPRESOLUTION_METHOD   与Advanced
Replication(高级复制)一起使用。
DBA_REPSITES  与Advanced Replication(高级复制)一起使用。
DBA_RGROUP  列出所有刷新组。
DBA_ROLE_PRIIVS      列出授予用户和角色的角色。
DBA_ROLES   列出数据库中存在的所有角色。
DBA_ROLLBACK_SEGS  包含回滚段的描述。
DBA_RSRC_CONSUMER_GROUP_PRIVS 列出所有已授权的资源消费组、用户和角色。
DBA_RSRC_CONSUMER_GROUPS 列出数据库中存在的所有资源消费组。
DBA_RSRC_MANAGER_SYSTEM_PRIVS 列出所有已授予属于资源管理员系统权限的用户和角色。
DBA_RSRC_PLAN_DIRECTIVES 列出数据库中存在的所有资源计划的指示。
DBA_RSRC_PLANS   列出数据库中存在的所有资源计划。
DBA_RULESETS   列出规则集信息。
DBA_SEGMENTS 包含分配级所有数据库段的存储信息。
DBA_SEOUENCES  包含数据库中所有序列的描述。
DBA_SNAPSHOT_LOG_FILTER_COLS 列出记录在快照日志上的所有过滤列(不包括PK列)。
DBA_SNAPSHOT_LOGS  列出数据库中所有的快照日志。
DBA_SNAPSHOT_REFRESH_TIMES   列出快照刷新次数。
DBA_SNAPSHOTS  列出数据库中所有的快照。
DBA_SOURCE   包含数据库中所有存储对象的来源。
DBA_STMT_AUDIT_OPTS   包含的信息为:描述通过系统并由用户审计的当前系统审计选项。
DBA_SUBPART_COL_STATISTICS 列出表子分区的列统计数据和直方图信息。
DBA_SUBPART_HISTOGRAMS 列出表子分区中直方图的实际数据(每个直方图的端点)。
DBA_SUBPART_KEY_COLUMNS 列出用Composite 
Range(复合排列)或HASH方法进行分区的表(和表上的本地索引)的子分区关键字列。
DBA_SYNONYMS  列出数据库中所有同义词。
DBA_SYS_PRIVS   列出授予用户和角色的系统权限。
DBA_TAB_COL_STATISTICS  包含在DBA_TAB_COLUMNS视图中的列统计数据和直方图信息。
DBA_
TAB_COLUMNS 
包含所有表、视图和簇的描述列的信息。
DBA_TAB_COMMENTS     包含对数据库中所有表和视图的注解。
DBA_TAB_HISTOGRAMS  列出所有表中列的直方图。
DBA_TAB_PARTITIONS 对每一个表分区,描述它的分区级分区信息、分区的存储参数,和由
ANALYZE决定的各种分区统计数据。
DBA_TAB_PRIVS 列出数据库中所有授予对象的授权。
DBA_TAB_SUBPARTITIONS 对每一个表的子分区,描述它的名称、表的名称和它所属的分区,以及它的存储属性。
DBA_TABLES  包含数据库中所有关系表的描述。
DBA_TABLESPACES   包含所有表空间的描述。
DBA_TEMP_FILES  包含数据库临时文件的信息。
DBA_TRIGGER_COLS   列出所有触发器中列的用法。
DBA_TRIGGERS  列出数据库中所有触发器。
DBA_TS_QUOTAS   列出所有用户的表空间限额。
DBA_TYPE_ATTRS  显示数据库中类型的属性。
DBA_TYPE_METHODS  描述数据库中所有类型的方法。
DBA_TYPES  显示数据库中所有的抽象数据类型。
DBA_UNUSED_COL_TABS 包含对所有具有未使用列的表的描述。
DBA_UPDATABLE_COLUMNS 包含对可在一个连接视图中,由数据库管理员更新的列的描述。
DBA_USERS    列出数据库中所有用户的信息。
DBA_USTATS  包含当前用户的信息。
DBA_VARRAYS  列出用户可以访问的视图的文本。
DBA_VIEWS  包含数据库中所有视图的文本。
DBA_WAITERS  列出所有正在等待一个锁的会话,以及列出正在阻止它们获得该锁的会话

抱歉!评论已关闭.