Oracle数据库系统结构二(实例结构)

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

Oracle数据库系统结构⼆(实例结构)
⼀.概述
Oracle实例的构成:
Oracle数据库实例(Oracle Instance)主要包括Oracle进程结构和Oracle内存结构两种。

⼆.ORACLE的内存结构
内存结构是Oracle数据库系统结构中最为重要的⼀部分,内存也是影响数据库性能的第⼀因素。

按照对内存的使⽤⽅法的不同,Oracle数据库的内存可以分为:
系统全局区SGA(System Global Area)
程序全局区PGA(Program Global Area)
1.系统全局区SGA(System Global Area)
系统全局区SGA是⼀组为系统分配的共享内存结构,可以包含⼀个数据库实例的数据或控制信息。

SGA可为多⽤户所共享。

SGA 是在数据库实例启动时被⾃动分配的,在实例关闭时,SGA被回收
SGA主要包含:
数据缓冲区
⽇志缓冲区
共享池
(1)数据缓冲区
数据⾼速缓冲区存储的是最近从数据⽂件中检索出来的数据,供所有⽤户共享。

当⽤户操作数据库中的数据时,先由服务器进程将数据从磁盘的数据⽂件读取到⾼速缓冲区,然后在缓冲区处理,结果被存储到数据缓冲区中,最后由数据写⼊进程DBWR写到硬盘的数据⽂件中永久保留。

(2)⽇志缓冲区
⽤于存储数据库的修改信息,当⽇志缓冲区中的信息到达⼀定数量时,由LGWR进程将其写⼊重做⽇志⽂件。

(3)共享池
⽤于缓存SQL语句、数据字典、资源锁等相关数据。

(4)⼤池
⼤池是数据库管理员可配置的可选内存空间。

在数据库备份/恢复、执⾏⼤量排序语句、并⾏执⾏数据库操作时需要⼤的缓存空间时,可设置使⽤它。

如没有在SGA区建⽴⼤池,操作所需的缓存空间将在共享池或PGA中分配。

(5) Java池
可选内存配置项,为Java语⾔提供语法分析区
(6)流池
可选内存配置项,为流数据提供⽀持。

2.程序全局区PGA
PGA是ORACLE为⽤户分配的内存区域,保存当前⽤户私有的数据和控制信息。

是⽤户在与数据库会话时,ORACLE⾃动分配的,会话结束后将⾃动释放。

PGA是⾮共享区,每个服务进程都有⾃⼰的PGA区。

主要由排序区(Sort Area)、会话信息(Session Information)、游标状态(Cursor State)以及堆栈空间(Stack Space)等组成。

(1)排序区
排序区⽤于存放SQL排序时所产⽣的临时数据,它是影响PGA尺⼨的主要因素。

ORACLE中有两个排序区,⼀个是内存排序区,另⼀个是磁盘中的临时段,在内存够⽤时,优先使⽤内存排序区。

(2)会话信息
⽤户会话所具有的权限、⾓⾊及会话的性能统计信息等都存放在PGA中。

(3)游标状态
⽤于存放执⾏游标操作时所产⽣的数据。

(4)堆栈空间
⽤于存放会话中的变量信息,如在语句中使⽤的变量。

三.ORACLE的进程结构
进程是操作系统中⼀个独⽴的可以调动的活动,⽤于完成指定的任务。

1.进程类型:
1) ⽤户进程(User Process)
当⽤户连接数据库执⾏应⽤程序时,创建1个⽤户进程。

2) 服务器进程(Server Proces)
由Oracle⾃⾝创建,⽤于处理连接到数据库实例的⽤户进程所提出的请求。

主要完成任务:
解析并执⾏⽤户提交的SQL语句和PL/SQL程序;
在SGA区搜索⽤户要访问的数据,如不存在,则由磁盘数据⽂件读⼊缓存;
将⽤户对数据库的更改信息写⼊⽇志缓冲区;
将查询或执⾏后的结果返回给⽤户进程。

3) 后台进程(Background Process)
服务器进程在执⾏⽤户进程请求时,会调⽤后台进程来实现对数据库的操作。

2.Oracle的后台进程类型
(1)DBWR进程-数据写⼊进程
功能
DBWR进程将数据缓冲区中的脏数据块写⼊磁盘,使⽤户进程得到更多的空闲缓冲区。

算法
采⽤LRU(最近最少使⽤算法),淘汰最近最少使⽤的数据块
(2)LGWR进程-⽇志写⼊进程
功能
LGWR进程负责将重做⽇志缓冲区中的⽇志记录写⼊磁盘⽇志⽂件组.
LGWR执⾏⽇志切换时,会⽣成⼀个检查点。

(3)CKPT进程-检查点进程
检查点
检查点是⼀个事件,当其发⽣时,DBWR进程把数据缓存中的脏数据快写⼊数据⽂件,同时系统对控制⽂件和数据⽂件的同步序号进⾏更新,以记录下当前的数据库结构和状态,保证数据的同步。

功能
CKPT进程负责执⾏检查点并更新控制⽂件,启⽤DBWR进程将脏数据缓存块中的数据写⼊数据⽂件.
(4) ARCH进程-归档进程功能
ARWR进程只在数据库运⾏在归档模式下时才会启动,即在发⽣⽇志切换时,则启动该进程将已写满的⽇志⽂件复制到指定的存储设备中,以避免被新⽇志⽂件覆盖。

⼀个数据库实例可启动多个归档进程。

(5)SMON进程-系统监控进程
功能
SMON进程负责在实例启动时对数据库进⾏恢复操作(主要⽤于⾮正常关闭数据库);负责回收临时表空间或临时段中不再使⽤的存储空间;合并各表空间的空闲空间碎⽚。

SMON在实例启动时被执⾏;实例运⾏期间会被定期唤醒。

(6)PMON进程-进程监控进程
功能
PMON进程负责在⽤户进程出现故障时执⾏恢复;负责清理⾮正常中断的⽤户进程的会话,回退未提交的事务,并释放该进程使⽤的系统资源(占⽤的锁、SGA、PGA等资源);负责周期性检查调度程序和服务进程的状态,若失败,则尝试重新启动它们,并释放其所占资源.
(7) Dnnn进程-调度进程
功能
在共享服务器模式下调度进程可为任意数量的⽤户进程提供服务.
服务器的两种操作模式:
专⽤服务器模式
共享服务器模式。

相关文档
最新文档