### 深入了解Oracle数据字典 #### 引言 在Oracle数据库系统中,数据字典是一个极其重要的组成部分,它记录着整个数据库系统的元数据信息。这些信息涵盖了数据库对象的定义、权限分配以及依赖关系等多个方面。对于数据库管理员(DBA)来说,熟练掌握数据字典的使用技巧是进行高效数据库管理的基础。 #### 数据字典的基本概念 数据字典在Oracle数据库中主要由一系列视图组成,这些视图分为三类:“USER.”、“ALL.”和“DBA.”视图。每种视图都有其特定的用途: - **USER.** 视图:这些视图记录了执行查询的账户所拥有的对象的信息。 - **ALL.** 视图:除了记录执行查询的账户所拥有的对象信息外,还包含了授权给PUBLIC或其他用户的对象的信息。 - **DBA.** 视图:这类视图包含了所有数据库对象的信息,不论这些对象的所有者是谁。 #### 使用数据字典 为了获取某个视图中的具体字段信息,可以使用`DESCRIBE`语句。例如,如果想查看`USER_TABLES`视图的结构,可以运行如下SQL命令: ``` DESC USER_TABLES; ``` #### 示例视图解析 下面将详细介绍部分示例视图,以帮助更好地理解数据字典的使用方式及其所提供的信息。 ##### DBA_DATA_FILES - **功能**:查询数据库的数据文件信息。 - **示例查询**: ```sql SELECT * FROM DBA_DATA_FILES; ``` 此查询将返回当前用户能够访问到的所有数据文件信息,包括文件名、文件状态等。 ##### ALL_OBJECTS - **功能**:查询用户可访问的对象信息,如表、视图等。 - **示例查询**: ```sql SELECT OWNER, OBJECT_NAME, OBJECT_TYPE FROM ALL_OBJECTS; ``` 这个查询返回了用户可以访问的所有对象的所有者、对象名以及对象类型。 ##### ALL_CATALOG - **功能**:提供了关于目录对象的详细信息。 - **子视图介绍**: - **ALL_COL_COMMENTS**:列评论信息,即对用户可访问表或视图的列的注释。 - **ALL_COL_GRANTS_MADE**:授予列权限的信息,其中用户是拥有者或授权者。 - **ALL_COL_GRANTS_RECD**:接收列权限的信息,其中用户或PUBLIC是接收者。 - **ALL_COL_PRIVS**:列上的权限信息,其中用户是授权者、接收者、拥有者或启用的角色,或者PUBLIC是接收者。 - **ALL_COL_PRIVS_MADE**:用户授予的列权限信息,其中用户是拥有者或授权者。 - **ALL_COL_PRIVS_RECD**:用户接收到的列权限信息,其中用户、PUBLIC或启用的角色是接收者。 - **ALL_CONSTRAINTS**:用户可访问表的约束定义。 - **ALL_CONS_COLUMNS**:约束定义中可访问列的信息。 - **ALL_DB_LINKS**:用户可访问的数据库链接。 - **ALL_DEF_AUDIT_OPTS**:新创建对象的审计选项。 - **ALL_DEPENDENCIES**:用户可访问对象之间的依赖关系。 - **ALL_ERRORS**:用户允许创建的存储对象的当前错误。 - **ALL_INDEXES**:用户可访问表的索引信息。 - **ALL_IND_COLUMNS**:构成用户可访问表的索引上的列。 - **ALL_REFRESH**:用户可以接触的所有刷新组。 - **ALL_REFRESH_CHILDREN**:用户可以接触的刷新组中的所有对象。 - **ALL_SEQUENCES**:用户可访问序列的描述。 - **ALL_SNAPSHOTS**:用户可以查看的快照。 - **ALL_SOURCE**:用户允许创建的存储对象的当前源代码。 - **ALL_SYNONYMS**:用户可访问的所有同义词。 - **ALL_TABLES**:用户可访问的表的描述。 - **ALL_TAB_COLUMNS**:所有表、视图和集群的列。 - **ALL_TAB_COMMENTS**:用户可访问的表和视图的注释。 - **ALL_TAB_GRANTS_MADE**:用户授予和授予用户对象的权限。 - **ALL_TAB_GRANTS_RECD**:对象上接收的权限,其中用户或PUBLIC是接收者。 - **ALL_TAB_PRIVS**:对象上的权限,其中用户是授权者、接收者、拥有者或启用的角色,或者PUBLIC是接收者。 - **ALL_TAB_PRIVS_MADE**:用户授予和授予用户对象的权限。 - **ALL_TAB_PRIVS_RECD**:对象上接收的权限,其中用户、PUBLIC或启用的角色是接收者。 通过以上介绍可以看出,Oracle数据字典为数据库管理员提供了一个强大的工具集,可以帮助他们深入了解和管理数据库环境。无论是日常维护还是问题排查,熟练掌握这些视图的使用都将大大提高工作效率。
以下表格中收集了Oracle数据字典中几乎所有的视图或别名,至于每个视图或别名的字段请用‘Describe’语句来查询。
命名说明:
Oracle数据字典中,对象名称多数以"USER.","ALL.","DBA."为前缀"USER."视图中记录通常记录执行查询的帐户所拥有的对象的信息,"ALL."视图中记录包括"USER"记录和授权至PUBLIC或用户的对象的信息,"DBA."视图包含所有数据库对象,而不管其所有者。
使用举例:
select * from dba_data_files
查询表空间的信息(当前用户必须拥有DBA角色)
select owner , object_name ,object_type from all_objects
查询某一用户下的所有表、过程、函数等信息
视图名 描述
ALL_CATALOG 当前用户能访问的所有表,视图,同义词,序列
ALL_COL_COMMENTS Comments on columns of accessible tables and views
ALL_COL_GRANTS_MADE Grants on columns for which the user is owner or grantor
ALL_COL_GRANTS_RECD Grants on columns for which the user or PUBLIC is the grantee
ALL_COL_PRIVS Grants on columns for which the user is the grantor, grantee, owner, or an
enabled role or PUBLIC is the grantee
ALL_COL_PRIVS_MADE Grants on columns for which the user is owner or grantor
ALL_COL_PRIVS_RECD Grants on columns for which the user, PUBLIC or enabled role is the grantee
ALL_CONSTRAINTS Constraint definitions on accessible tables
ALL_CONS_COLUMNS Information about accessible columns in constraint definitions
ALL_DB_LINKS Database links accessible to the user
ALL_DEF_AUDIT_OPTS Auditing options for newly created objects
ALL_DEPENDENCIES Dependencies to and from objects accessible to the user
ALL_ERRORS Current errors on stored objects that user is allowed to create
ALL_INDEXES 当前用户可访问的表的索引的描述
ALL_IND_COLUMNS COLUMNs comprising INDEXes on accessible TABLES
- 粉丝: 0
- 资源: 1
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 开关电源工程师-应具备的理论知识,实践技能和工程素质
- 技术资料分享CC2530中文数据手册完全版非常好的技术资料.zip
- 技术资料分享CC2530非常好的技术资料.zip
- 技术资料分享AU9254A21非常好的技术资料.zip
- 技术资料分享AT070TN92非常好的技术资料.zip
- 技术资料分享ADV7123非常好的技术资料.zip
- TestBank.java
- js-leetcode题解之146-lru-cache.js
- js-leetcode题解之145-binary-tree-postorder-traversal.js
- js-leetcode题解之144-binary-tree-preorder-traversal.js