*数据字典是oracle数据库中重要的逻辑结构之一,它是由一些只读的基础表和视图组成。在这些基础表中,保存着oracle服务器所有的信
1.数据字典的概念
*数据字典是oracle数据库中重要的逻辑结构之一,它是由一些只读的基础表和视图组成。在这些基础表中,保存着oracle服务器所有的信息。这些信息主要包括:
*数据库物理结构和逻辑结构的定义,主要包括服务器中数据文件,控制文件和重做日志文件,以及表,视图,索引,同义词,序列,存储过程,程序包,触发器等所有的模式对象。
*数据库存储空间的分配信息,比如当前oracle为某一对象分配了多少空间,已经使用了其中的多少。
*数据的完整性约束信息。
*数据库的安全信息,包括用户信息,授予用户的权限和角色信息。
*审计信息,如吉林某个用户访问或修改了那些数据库对象。
*数据库运行时的性能和统计信息。
*其他关于数据库的基本信息。
相关阅读:
oracle体系概述-数据字典
oracle体系概述--实例
oracle体系概述--内存结构
oracle服务器体系结构概述
数据字典的数据是以表和视图的形式进行组织的,这些数据反映了oracle体系结构中的各个组成的基本信息,以及oracle的运行过程中的各个状态的信息,是oracle管理和控制自身正常运行的数据集合。
数据字典是oracle的核心数据,被保存在系统表空间中,只有oracle才能对数据字典中的这些表和视图进行管理和维护,任何数据库用户,包括dba都只能读取数据字典中的数据,但无权修改其数据。
2.数据字典的结构
数据字典是一种逻辑结构,主要由两部分组成:
(1)基础表。数据字典中的数据都是保存在基础表中。只有oracle才能修改基础表,oracle用户不能直接访问基础表,更不能修改和删除其中的数据。基础表中的数据存储一般是经过加密处理的。
(2)用户视图。用户视图是oracle服务器提供给用户使用的视图。oracle服务器根据用户的查询需要,将基础表通过表连接和条件形成了不同的视图共用户使用。视图中的数据是经过解密处理的基础表中的数据。
3.数据字典的用途
数据字典通常是安装数据库时被创建的,其中的数据时在oracle响应某些特定操作时被oracle更新的。如用户对oracle数据库中的模式对象进行了增加,修改,删除等操作,这些操作都对oracle服务器的组成进行了修改,这时oracle就将改动后的模式对象的结构信息记录在数据字典中。一般在每次执行ddl语句之后,oracle要对数据字典中的相关的信息进行修改。数据字典对服务器运行极为重要,服务器依靠数据字典来保持,检验和处理正在进行的操作。
用户可以通过select语句查询用户视图获得基础表中的数据,从而获得oracle服务器的各种信息。对用户来说,数据字典就像oracle服务器的参考手册,所有关于oracle服务器的信息都可以通过查询数据字段获得。
数据字典的主要用途如下:
*oracle通过访问数据字典获取有关用户,模式对象和其他存储结构的信息,从而控制和管理服务器工作。
*任何数据库用户都可以从数据字典中获取关于数据库的信息,从而对数据库进行相关的开发,修改和维护操作。
*dba可以从数据字典中获取数据库的各种参数信息和运行状态信息,从而进行有效的数据库管理。
4.用户视图
用户视图也叫静态视图,因为视图中的内容是基础表中的数据,只有基础表改变后,视图的内容才随之改变。
oracle 通过select语句可以访问用户视图获得数据字典中的数据。但由于数据库的安全性考虑,并不是每个用户都能够访问数据字典中的任何数据,一般用户只能查询同自己相关的数据信息,只有dba或具有select anytable权限的用户才能查询数据字典中的所有数据信息。
用户视图大致可以分为三类,每一类的视图通过不同的前缀加以区别,如表1-1所示
表1-1
5动态性能表
oracle服务器在运行过程中,会将当前服务器的运行状态记录在内存中的一些“虚拟”表中,这些“虚拟”表称之为动态性能表。这些动态性能表只能存在于内存当中,,随着oracle实例的启动而被创建,在oracle关闭时,这些表同时被删除。
动态性能表属于sys用户,只有sys和具有sysdba角色用户才能查询。动态性能表通常以v$为前缀。
最为常用的动态性能视图如表1-2所示:
表1-2
除了上述用户视图和动态性能视图外,oracle数据字典还有很多用户视图和动态性能视图。作为dba必须对于oracle体系结构有非常深刻的理解,通过查询数据字段来获取oracle服务器的组织结构和运行状况,如数据库的剩余情况,sga情况,用户的权限以及缓冲区的使用状况等。