Oracle体系结构

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

Oracle体系结构

一、物理结构

二、逻辑结构

三、内存结构

四、数据库实例与进程

五、数据字典

一、Oracle 的物理结构

Oracle 数据库文件包括数据文件、日志文件、控制文件、配置文件

数据文件

(1)用来存储数据库中的全部数据,如数据库表中的数据和索引数据。通常为

后缀名为.dbf格式的文件。

(2) 每个Oracle 可以有一个或多个数据文件,一个数据文件只能属于一个数据库。

(3) 每个数据文件又由若干物理块组成;

(4) 一个或多个数据文件组成表空间;

日志文件(重做日志文件)

(1)用于记录数据库所做的全部变更(如增加、删除、修改),以便在系统发生故障时,用它对数据库进行恢复。名字通常为Log*.dbf格式。

控制文件

(1)用于打开和存取数据库。

(2)是较小的二进制文件,记录了数据库的物理结构,如:数据库名、数据库的数据文件和日志文件的名字和位置等信息。

(3)名字通常为Ctr*.ctl格式,如CtrlCIMS.ctl。

(4)控制文件中的内容只能够由Oracle本身来修改。

(5)每个数据库必须至少拥有一个控制文件。一个数据库也可有多个控制文件,但是一个控制文件只能属于一个数据库。

配置文件:

(1)是一个ASCII文本文件,记录Oracle 数据库运行时的一些重要参数。

(2)名字通常为initsid*.ora格式,如:initCIMS.ora,

(3)SID相当于它所控制的数据库的标识符。

(4)每个Oracle数据库和实例都有它自己惟一的init.ora 文件。

二、Oracle 的逻辑结构

逻辑结构描述了数据库从逻辑上如何来存储数据块中的数据。包括表空间、段、区、数据块和模式对象。逻辑结构支配一个数据库如何使用系统的物理空间,模式对象及其之间的关系则描述关系数据库之间的设计。一个数据块从逻辑上是由一个或多个表空间组成,表空间是数据块中物理编组的数据仓库,每个表空间由段构成,段由一组区组成,一个区由连续的数据块组成。

表空间

表空间分类:

Oracle 中除了用户创建的存放数据对象的数据表空间外,还有以下类型的表空间:

1) System 表空间(System TableSpace)

2) 回滚表空间(RollBack TableSpace)

3) 临时表空间(Temp TableSpace)

系统表空间(System TableSpace):

a)是每个Oracle数据库必须具备部分,安装时自动建立,

b)存放表空间名称、表空间所含数据文件等管理数据库自身所需信息;

c)如:数据字典、存储过程、包、函数和触发器定义、系统回滚段、数据

库对象定义,用户过程等。

d)每个Oracle 数据库必须至少有个默认表空间。

系统表空间只保存属于数据库自身的相关数据,用户对象和数据保存在非系统表空间中。

临时表空间(Temp TableSpace):

a)是Oracle用于存储实例运行过程中产生的所有临时数据,如执行SQL

语句产生的临时表;

b)类似于数据库白板或草稿纸,记录数据和进行的操作。

c)可以有多个临时表空间;

d)无临时表空间将使用(System TableSpace)

回滚表空间(RollBack TableSpace)

a)所有Oracle数据库都需要在一个地方保存恢复信息(Undo),用于存放

回滚段( Rollback Segment )的表空间称为回滚或简称RBS。

b)Oracle 将不完整或临时中止的事务恢复的功能放在其核心功能中;表空间使用,在数据库中使用多个表空间具有如下优势:a)能将数据字典与用户数据分,避免因字典对象和用户对象保存在同一个

数据文件中而产生的I/O冲突。

b)将回退数据与用户数据分离,避免因硬盘损坏而导致永久性数据丢失。

c)将表空间数据文件分散保存到不同硬盘上,平均分布物理I/O操作。

d)将某个表空间设置为脱机状态或联机状态,对数据库的一部分进行备份

和恢复。

e)将某个表空间设置为只读,将数据库的一部分设置为只读状态。

f)为某种特殊用途专门设置一个表空间,比如临时表空间等,优化表空间

的使用效率。

g)更加灵活地为用户设置表空间限额。

表空间中对象存储

a)若表空间只对应一个数据文件,该表空间中所有对象都存储在此数据文

件中。

b)若表空间对应于多个数据文件,可将一个对象的数据存储在该表空间的

任意一个数据文件中,也可将同一个对象的数据分布在表空间的多个数据文件中。

1)数据段

a)数据段中保存表中记录。

b)用CREATE 语句创建表或簇时,Oracle 自动创建数据段。

c)Oracle 中所有未分区的表都使用一个段来保存数据,而分区的表将为每

个分区建立一个独立数据段。

2)索引段

a)在使用CREATE INDEX 语句创建索引时,Oracle为一个索引或一个索

引分区创建索引段。

b)在Oracle数据库中每个未分区索引都有一个索引段保存索引中索引条

目。

c)对于一个分区索引,每个分区都有一个索引段保存它的数据。

3)临时段

a)当处理查询时,Oracle可能会需要使用到一些临时存储空间,用于临时

保存解析过的查询语句以及在排序过程中产生的临时数据。

b)Oracle会自动在专门用于存储临时数据的表空间为操作分配临时段。4)回退段:

回滚段用于存放数据修改之前的值(包括数据修改之前的位置和值),作用主要有以下几方面:

a)事务回滚

b)事务恢复

c)读一致性

区是由很多连续的数据块组成的数据库存储空间,缺省情况下,数据库会使用表空间中存储的存储参数来管理他们的区.

主要的几个存储参数:

1)Initial:段建立时分配的第一个区的大小(单位:字节)

2)Next:段内分配的下一个增量区大小(单位:字节)

相关文档
最新文档