欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

Oracle体系概述-数据字典

程序员文章站 2022-05-25 11:42:47
...

*数据字典是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所示

Oracle体系概述-数据字典

表1-1

5动态性能表

Oracle服务器在运行过程中,会将当前服务器的运行状态记录在内存中的一些“虚拟”表中,这些“虚拟”表称之为动态性能表。这些动态性能表只能存在于内存当中,,随着Oracle实例的启动而被创建,在Oracle关闭时,这些表同时被删除。

动态性能表属于SYS用户,只有SYS和具有SYSDBA角色用户才能查询。动态性能表通常以V$为前缀。

最为常用的动态性能视图如表1-2所示:

Oracle体系概述-数据字典

表1-2

除了上述用户视图和动态性能视图外,Oracle数据字典还有很多用户视图和动态性能视图。作为DBA必须对于Oracle体系结构有非常深刻的理解,通过查询数据字段来获取Oracle服务器的组织结构和运行状况,如数据库的剩余情况,SGA情况,用户的权限以及缓冲区的使用状况等。

Oracle体系概述-数据字典