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情况,用户的权限以及缓冲区的使用状况等。