![Oracle数据库体系结构_第1页](http://file3.renrendoc.com/fileroot_temp3/2022-2/22/952d87ff-8ef0-4445-9e26-65d786190913/952d87ff-8ef0-4445-9e26-65d7861909131.gif)
![Oracle数据库体系结构_第2页](http://file3.renrendoc.com/fileroot_temp3/2022-2/22/952d87ff-8ef0-4445-9e26-65d786190913/952d87ff-8ef0-4445-9e26-65d7861909132.gif)
![Oracle数据库体系结构_第3页](http://file3.renrendoc.com/fileroot_temp3/2022-2/22/952d87ff-8ef0-4445-9e26-65d786190913/952d87ff-8ef0-4445-9e26-65d7861909133.gif)
![Oracle数据库体系结构_第4页](http://file3.renrendoc.com/fileroot_temp3/2022-2/22/952d87ff-8ef0-4445-9e26-65d786190913/952d87ff-8ef0-4445-9e26-65d7861909134.gif)
![Oracle数据库体系结构_第5页](http://file3.renrendoc.com/fileroot_temp3/2022-2/22/952d87ff-8ef0-4445-9e26-65d786190913/952d87ff-8ef0-4445-9e26-65d7861909135.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第三章 Oracle数据库体系结构本章要点理解物理存储结构理解逻辑存储结构理解内存结构了解进程理解数据库实例概述Oracle体系结构由内存结构、进程结构、存储结构组成,其中:内存结构由SGA、PGA组成。进程结构由用户进程和Oracle进程组成,前台进程是指服务进程和用户进程。前台进程是根据实际需要运行的,并在需要结束立即结束。Oracle进程也称为后台进程,是指在Oracle数据库启动后,自动启动的几个操作系统进程。存储结构由逻辑结构、物理存储组成。体系结构预览如下图Oracle DB 体系结构:概览 数据库数据文件联机重做日志文件控制文件 数据库缓冲区高速缓存共享池 数据字典高速缓存库高速
2、缓存PMONSMON其它服务器进程PGA 归档 日志文件用户进程实例RECOARCnSGADBWn重做日志缓冲区LGWRCKPTOracle数据库的存储结构Oracle的体系结构是从某一角度来分析数据库的组成和工作过程,以及如何管理和组织数据。数据库的主要功能是存储数据,oracle数据库的存储结构分为物理存储结构和逻辑存储结构。物理存储结构主要描述Oracle数据库的外部存储结构,即在操作系统中如何组织。管理数据。因此,物理存储结构是与操作系统平台有关的。从物理上看,数据库由控制文件、数据文件、重做日志文件等操作系统文件组成。逻辑存储结构主要描述Oracle数据库的内部存储结构,即从技术概念
3、上描述在Oracle数据库中如何组织、管理数据。从逻辑上来看,数据库由系统表空间、用户表空间等组成。表空间是最大的逻辑单位,块是最小的逻辑单位。逻辑存储结构中块最后对应到操作系统中的块。因此,逻辑存储结构是与操作系统平台无关的,是由Oracle数据库创建和管理的。数据文件、日志文件、控制文件、参数文件*.dbf*.log*.ctl*.ora物理存储结构1.数据文件 数据文件是用于保存用户应用程序数据和Oracle系统内部数据的文件,这些文件在操作系统中就是普通的操作系统文件,Oracle在创建表空间的同时会创建数据文件。Oracle数据库在逻辑上由表空间组成,每个表空间可以包含一个或多个数据文
4、件,一个数据文件只能隶属于一个表空间。2.日志文件 日志文件的主要功能是记录对数据所作的修改,对数据库所作的修改几乎都记录在日志文件中。在出现问题时,可以通过日志文件得到原始数据,从而保障不丢失已有操作成果。Oracle的日志文件包括重做日志文件(Redo Log File)和归档日志文件(Archive Log File),它们是Oracle系统的主要文件之一,尤其是重做日志文件,它是Oracle数据库系统正常运行所不可或缺的。下面将介绍这两种日志文件。物理存储结构物理存储结构3. 控制文件 控制文件是一个二进制文件,它记录了数据库的物理结构,其中主要包含数据库名、数据文件与日志文件的名字和
5、位置、数据库建立日期等信息。控制文件一般在Oracle系统安装时或创建数据库时自动创建,控制文件所存放的路径由服务器参数文件spfileorcl.ora的control_files参数值来指定。 由于控制文件存放有数据文件、日志文件等的相关信息,因此,Oracle实例在启动时必须访问控制文件。如果控制文件正常,实例才能加载并打开数据库;但若控制文件中记录了错误的信息,或者实例无法找到一个可用的控制文件,则实例无法正常启动。物理存储结构4.参数文件 服务器参数文件SPFILE(Server parameter File)是二进制文件,用来记录了Oracle数据库的基本参数信息(如,数据库名、控制
6、文件所在路径、日志缓冲大小等)。数据库实例在启动之前,Oracle系统首先会读取SPFILE参数文件中设置的这些参数,并根据这些初始化参数来配置和启动实例。比如,设置标准数据块的大小(即参数db_block_size的值)、设置日志缓冲区的大小(即参数log_buffer的值)等等,所以SPFILE参数文件非常重要。服务器参数文件在安装Oracle数据库系统时由系统自动创建,文件的名称为SPFILEsid.ora,sid为所创建的数据库实例名。 与早期版本的初始化参数文件INITsid.ora不同的是,SPFILE中的参数由Oracle系统自动维护,如果要对某些参数进行修改,则尽可能不要直接对
7、SPFILE进行编辑,最好通过企业管理器(OEM)或ALTER SYSTEM命令来修改,所修改过的参数会自动写到SPFILE中。逻辑存储结构ORACLE的逻辑结构是:由一个或多个表空间组成。 一个表空间由一组分类段组成 一个段由一组数据区组成 一个区由一批数据库块组成 一个数据库块对应一个或多个 操作系统块逻辑存储结构1.表空间(TableSpace) Oracle使用表空间将相关的逻辑结构(比如段、数据区等)组合在一起,表空间是数据库的最大逻辑划分区域,通常用来存放数据表、索引、回滚段等数据对象(即Segment),任何数据对象在创建时都必须被指定存储在某个表空间中。表空间(属逻辑存储结构)
8、与数据文件(属物理存储结构)相对应,一个表空间由一个或多个数据文件组成,一个数据文件只属于一个表空间;Oracle数据的存储空间在逻辑上表现为表空间,而在物理上表现为数据文件。举个例子来说,表空间相当于操作系统中的文件夹,而数据文件就相当于文件夹中的文件。每个数据库至少有一个表空间(即SYSTEM表空间),表空间的大小等于所有从属于它的数据文件大小的总和。逻辑存储结构2.数据段(Sedment)段是由一个或多个数据区 组成的,它不是存储的分配单位,而是一个独立的逻辑存储结构,用于存储表、索引或簇等占用空间的数据对象,oracle也把这种占用空间的数据对象统一称为段。一个段只属于一个特定的数据对
9、象,每当创建一个独立段的数据对象时,oracle会为它创建一个段。Oracle数据库通常有四种类型的段:数据段、索引段、回滚段、临时段。逻辑存储结构3.数据区(Extend)数据区(也可称作数据扩展区)是由一组连续的Oracle数据块所构成的Oracle存储结构,一个或多个数据块组成一个数据区,一个或多个数据区再组成一个段(Segment)。当一个段中的所有空间被使用完后,Oracle系统将自动为该段分配一个新的数据区,这也正符合Extent这个单词所具有的“扩展”的含义,可见数据区是Oracle存储分配的最小单位,Oracle就以数据区为单位进行存储控件的扩展。 使用数据区的目的是用来保存特
10、定数据类型的数据,也是表中数据增长的基本单位。在Oracle数据库中,分配存储空间就是以数据区为单位的。一个Oracle对象包含至少一个数据区。设置一个表或索引的存储参数包含设置它的数据区大小。4.数据块(Data Blocks)数据块:逻辑存储结构中最小的逻辑单位,也是执行数据库输入输出操作的最小存储单位,Oracle数据存放在“oracle数据块”中,而不是“操作系统块”中。通常Oracle数据块是操作系统块的整数倍。 数数据据库库块块的的格格式式Command and Variable HeaderTable DirectoryRow DirectoryFree SpaceROW DAT
11、A数据块的结构PCTFREE = 20%PCTUSED = 40%Free SpacePCTFREE = 20%PCTUSED = 40%内存结构系统全局区(SGA):所有用户进程共享的一块内存区域,也就是说,SGA中的资源可以被多个用户进程共同使用。SGA主要由高速数据缓冲区、共享池、重做日志缓冲区、Java池、大型池、流池等等内存结构组成。这里我们主要了解一下共享池、数据缓冲区和日志缓冲区。程序全局区(PGA):也称作用户进程全局区,是用户进程连接到数据库并创建一个对应的会话时,由Oracle为服务进程分配的,专门用于当前用户会话的内存区。PGA是非共享的,而SGA是共享的。PGA大小由操
12、作系统决定,并且分配后保持不变;会话终止时,自动释放PGA所占的内存。内存结构SGA数据缓冲区高速缓存 重做日志 缓冲区Java 池流池共享池大型池PGAPGAPGA后台进程服务器进程 1服务器进程 2 共享 SQL 区域 库高速缓存I /O 缓冲区 响应队列 请求队列 空闲内存数据字典高速缓存其它SGA组成1.高速数据缓冲区: 存放着系统最近访问过的数据块。 当用户向数据库发出请求时(如检索一条数据),如果在高速数据缓冲区中存在请求的数据,则oracle系统会直接从数据缓冲区中读取数据并返回给用户。否则,oracle系统会打开数据文件读取请求的数据。由于高速数据缓冲区被所有用户共享,只要数据
13、文件中的某些数据块被当前用户或其他用户请求过,那么这些数据块就会被装载到数据缓冲区中,这样当任何用户再访问相同数据时,不必从数据文件中读取数据,而是直接从数据缓冲区中读取数据返给用户。 在数据缓冲区中还有一个概念“脏数据”,即已经被修改过的数据等待被写入数据文件中,简单说就是命令在内存中运行完了但还没写入硬盘。当输入提交命令并通过后台进程DBWR将其写入数据文件中。2.共享池 用于缓存SQL语句、PL/SQL语句、数据字典、资源锁、字符集以及其他控制结构等。共享池包括库缓冲区和字典缓冲区。库缓冲区:存放最近用过的SQL语句、PL/SQL语句的文本或执行计划,其包括共享SQL区和私有SQL区。共
14、享SQL区存放SQL或PL/SQL语句的语法分析结果和执行计划。私有SQL区存放SQL语句中绑定变量、环境和会话信息,属于私有信息,其他用户无法共享该信息。字典缓冲区:存放Oracle系统内部管理所需要的数据字典信息。SGA组成3.重做日志缓冲区 用于存放对数据库进行修改操作时所产生的日志信息,这些日志信息在写入到重做日志之前,首先存放在重做日志缓冲区,当缓冲区中的信息量达到一定峰值时,由日志写入进程LGWR将缓冲区内容写入到重做日志文件。4.大型池大型池在SGA区中不是必需的内存结构,只是在某些特殊情况下,实例需要使用大型池来减轻共享池的访问压力,以便提高性能。需要大型池的操作有:数据库的备
15、份和恢复、大量排序的SQL语句、并行化的数据库操作。5.Java池Oracle8i以后的版本提供了对Java的支持,用于存放Java代码、Java程序等。6.流池用于在数据库与数据库之间进行信息共享。数据泵进程体系结构 用户进程 当数据库用户或批处理进程连接到 Oracle DB 时启动 数据库进程 服务器进程:可以连接到 Oracle 实例,它在用户建立会话时启动 后台进程:在启动 Oracle 实例时启动 实例PMONSMON其它RECOARCHDBWRLGWRCKPTPGA用户进程服务器进程后台进程 数据库缓冲区高速缓存共享池 数据字典高速缓存库高速缓存SGA重做日志缓冲区进程体系结构服
16、务器 n 进程SGAOracle 后台进程PMONSMON其它RECOARCHDBWRLGWRCKPT服务器服务器服务器服务器服务器 数据库缓冲区高速缓存共享池 数据字典高速缓存库高速缓存SGA重做日志缓冲区数据写进程 (DBWR) 将数据库缓冲区高速缓存中经过修改的缓冲区(灰数据缓冲区)写入磁盘的两种方式: 在执行其它处理时异步执行 定期执行以推进检查点 数据库缓冲区高速缓存数据库写进程数据文件DBWR日志写进程 (LGWR) 将重做日志缓冲区写入磁盘上的重做日志文件中 在以下情况下执行写操作: 用户进程提交事务处理时 重做日志缓冲区的三分之一已满或1m时 在 DBWR 进程将经过修改的缓冲
17、区写入磁盘之前 重做日志缓冲区日志写进程重做日志文件LGWR 将检查点信息记录在以下位置 控制文件 每个数据文件头 检查点进程 (CKPT)检查点进程数据文件控制文件CKPT系统监视器进程 (SMON) 在实例启动时执行恢复 清除不使用的临时段 实例临时段系统监视器进程SMON进程监视器进程 (PMON) 在用户进程失败时执行进程恢复 清除数据库缓冲区高速缓存 释放该用户进程使用的资源 监视会话是否发生空闲会话超时 将数据库服务动态注册到监听程序 进程监视器进程数据库缓冲区高速缓存失败的用户进程用户 PMON归档进程 (ARCH) 在发生日志切换之后,将重做日志文件复制到指定的存储设备 可以收
18、集事务处理重做数据,并将该数据传输到备用目标位置 归档程序进程归档目标位置重做日志文件的副本ARCn共享池数据缓冲区日志缓冲区PMONLCKnRECOSMONServerUserUserUser数据文件日志文件参数文件控制文件存储介质DBWRARCHCKPTLGWR实例实例实例( INSTANCE INSTANCE ): :其实就是驻留在内存中的一系列结构和进程,是存取和控制数据库的软件机制。在启动数据库时首先要创建实例,然后才能通过实例访问数据库,一个数据库至少有一个与之对应的实例,一个实例也只能对应一个数据库。数据库实例由内存结构和进程结构组成,内存结构又由系统全局区(System Glo
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 金融投资居间服务合同模板
- 2025年度办公室清洁与生态环保技术应用合同
- 住宅买卖中介服务合同
- 展览馆装修合同管理费方案
- 仓储服务居间合同
- 的汽车转让合同
- 美容化妆品行业产品追溯与营销推广方案
- 数字化供应链管理体系建设方案
- 知识产权归属及保密协议南京廖华
- 三农村低保申请与审核手册
- 人教版九年级英语动词时态专项练习(含答案和解析)
- 兰州市规范医疗服务价格项目基准价格表
- 2006年度银行业金融机构信息科技风险评价审计要点
- 反恐C-TPAT程序文件整套(通用)
- 2022年全国高考诗歌鉴赏试题-教学课件
- 2023-2024学年浙江省杭州市小学语文六年级上册期末深度自测试题
- GB/T 19868.2-2005基于焊接经验的工艺评定
- 机房巡检记录表
- 警灯、警报器使用证申请表
- (中职)电梯维护与保养项目九 电梯曳引系统的维护与保养教学课件
- 中国科学院率先行动计划组织实施方案
评论
0/150
提交评论