数据字典是oracle存储关键信息的表和视图的集合。oracle进程会在sys模式中维护这些表和视图,也就是说数据字典的所有者为sys用户,数据存放在system表空间中,数据字典描述了实际数据是如何组织的,如一个表的创建者信息,创建时间信息,所属的表空间信息,用户访问权限等等。对数据字典可以向处理其他数据库和表或试图一样进行查询,但不能进行任何修改。

oracle数据字典通常是在创建和安装数据库时被创建的。oracle数据字典是oracle数据库系统工作的基础。没有数据字典的支持,oracle数据库系统就不能进行任何工作。

数据字典的构成:数据字典分为数据字典表和数据字典视图。数据字典中的表不可以直接被访问,但是可以访问数据字典中的视图。数据字典视图分为两类:静态数据字典视图和动态数据字典视图。数据字典视图分为两类:静态数据字典视图和动态数据字典视图;

数据字典表:数据字典表中的数据是oracle系统存放的系统数据,而普通表存放的是用户的数据,为了方便的区别这些表,这些表的名称都是用“$”结尾,这些表属于SYS用户。

为了方便用户对数据字典表的查询,oracle对这些数据字典分别建立了用户视图,这样既容易记住,还隐藏了数据字典表之间的关系。

静态数据字典视图

静态数据字典中的视图分为3类:他们分别有3个前缀构成:USER、ALL、DBA

USER:该视图存储了当前用户的所拥有的对象的信息(即所有在该用户模式下的对象)

ALL:该视图存储了当前用户的能够访问的对象的信息(与USER相比,ALL并不需要拥有该对象,只需要具有访问该对象的权限即可);

DBA:该视图存储了数据库中所有对象的信息(前提是当前用户具有访问权限,一般来说必须具有管理员权限)

列举常用的数据字典视图

usertables:主要描述当前用户所拥有的所有表的信息,主要包括表名,表空间等信息,使用SCOTT用户连接数据库实例,查看SCOTT用户下的所有表的信息。
Oracle 11g R2 数据字典
查看SCOTT用户拥有哪些索引
Oracle 11g R2 数据字典
查看SCOTT用户所拥有的数据库对象Oracle 11g R2 数据字典
查看SCOTT用户能够访问的所有表,过程,函数等信息Oracle 11g R2 数据字典
查询结果截图
Oracle 11g R2 数据字典
查看数据字典:如果需要了解每个视图更多的信息,可以通过DICTIONARY命令来查看所有的视图和其他描述,该表只有两个字段,表名和描述
Oracle 11g R2 数据字典

动态数据字典视图及使用

除了静态数据字典中有3类视图,其他的字典视图中主要是V$视图,之所以这样命名是因为这些视图会不断的进行更新,可以以反映出当前实例和数据库的运行状况。动态性能表用于记录当前数据库的活动,只存在于数据库运行期间,实际的信息都取自内存和控制文件。DBA可以使用动态视图来监视和维护数据库。

举例说明动态数据字典的使用
Oracle 11g R2 数据字典
从结果中可以看出,当前数据库正在使用的日志组是GROUP 3,数据库运行在非归档模式下,该日志组有一个日志成员,存储目录为/u01/app/oracle/oradata/orcl/,日志文件名为redo03.log

如果对此文有什么问题的话,请加下面微信一起探讨
Oracle 11g R2 数据字典