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

相关内容