数据字典是甲骨文存储关键信息的表和视图的集合.oracle进程会在sys模式中维护这些表和视图,也就是说数据字典的所有者为系统用户,数据存放在系统表空间中,数据字典描述了实际数据是如何组织的,如一个表的创建者信息,创建时间信息,所属的表空间信息,用户访问权限等等。对数据字典可以向处理其他数据库和表或试图一样进行查询,但不能进行任何修改。
甲骨文数据字典通常是在创建和安装数据库时被创建的.oracle数据字典是甲骨文数据库系统工作的基础。没有数据字典的支持,甲骨文数据库系统就不能进行任何工作。
数据字典的构成:数据字典分为数据字典表和数据字典视图。数据字典中的表不可以直接被访问,但是可以访问数据字典中的视图。数据字典视图分为两类:静态数据字典视图和动态数据字典视图。数据字典视图分为两类:静态数据字典视图和动态数据字典视图;
数据字典表:数据字典表中的数据是甲骨文系统存放的系统数据,而普通表存放的是用户的数据,为了方便的区别这些表,这些表的名称都是用“$”结尾,这些表属于系统用户。
为了方便用户对数据字典表的查询,甲骨文对这些数据字典分别建立了用户视图,这样既容易记住,还隐藏了数据字典表之间的关系。
静态数据字典视图
静态数据字典中的视图分为3类:他们分别有3个前缀构成:用户,DBA
用户:该视图存储了当前用户的所拥有的对象的信息(即所有在该用户模式下的对象)
:该视图存储了当前用户的能够访问的对象的信息(与用户相比,并都不需要拥有该对象,只需要具有访问该对象的权限即可);
DBA:该视图存储了数据库中所有对象的信息(前提是当前用户具有访问权限,一般来说必须具有管理员权限)
列举常用的数据字典视图
usertables:主要描述当前用户所拥有的所有表的信息,主要包括表名,表空间等信息,使用斯科特用户连接数据库实例,查看斯科特用户下的所有表的信息。
动态数据字典视图及使用
除了静态数据字典中有3类视图,其他的字典视图中主要视美元是V图,之所以这样命名是因为这些视图会不断的进行更新,可以以反映出当前实例和数据库的运行状况。动态性能表用于记录当前数据库的活动,只存在于数据库运行期间,实际的信息都取自内存和控制文件.DBA可以使用动态视图来监视和维护数据库。
举例说明动态数据字典的使用