Oracle 11g笔记——后台进程

后台进程
当Oracle实例启动时,多个后台进程就会启动。后台进程是设计用于执行特定任务的可执行代码块。
SGA和后台进程结合起来组成了Oracle实例。

Oracle 11g笔记——后台进程_第1张图片

 


1、SMON 系统监控器
   (1)在系统崩溃或实例故障的情况下,通过将联机重做日志文件中的条目应用于数据文件,SMON进程可执行崩溃恢复
   (2)在系统重新启动期间清除所有表空间中的临时段
   (3)常规任务是定期合并字典管理的表空间中的空闲空间 

    系统全局区域的进程

2、PMON 进程监控器
   (1)回滚电源断开时正在处理的事务
   (2)在缓冲区缓存中标记可用的事务块
   (3)删除表中受影响行上的锁
   (4)从活动进程列表中删除未连接进程的进程ID

    系统全局区域的进程

3、DBWn 数据库写入程序(database writer),在旧版本中也称为DBWR
   (1)将缓冲区缓冲中新增的或改动的数据块(脏块)写入数据文件,使用LRU算法,DBWn首先写入最早的、最小的活动块。
   (2)最多可启动20个DBWn ,从DBW0至DBW9,及DBWa至DBWj
   (3)DB_WRITER_PROCESS参数可以控制DBWn的数量
  
   SGA中的数据库缓冲区缓存 > DBW0 > 数据文件


4、LGWR 日志写入程序
   (1)负责重做日志缓冲区的管理,在具有大量DML活动的实例中,LGWR是最为活跃的进程之一。
        直到LGWR成功地将重做信息(包括提交记录)写入重做日志文件,才能认为事务已经完成。
        直到LGWR已经写入重做信息,才可以通过DBWn将缓冲区缓存中的脏缓冲区写入数据文件。
   (2)如果分组重做日志文件,并且组中一个多元复用的重做日志文件已经损坏,则LGWR将写入其它组成员,交在警告日志文件中记录错误
   
    SGA中的重做日志缓冲区 > LGWR


5、ARCn 归档程序
   如果数据库处于ARCHIVELOG模式,则在重做日志填满并且重做信息开始按顺序填充下一个重做日志时,归档进程将重做日志复制至一个或多个目的地。
   理想情况:归档进程应在下一次使用填满的重做日志之前完成以上操作,否则会有性能问题。
   解决:(1)使重做日志文件更大一些 (2)增加重做日志组的数量 (3)增加ARCn进程的数量
   每个实例最多可启动10个ARCn进程,LOG_ARCHIVE_MAX_PROCESSES参数:控制归档进程的数量
  
   重做日志 >  ARCn 归档程序
   ARCn 归档程序 > 控制文件
   ARCn 归档程序 > 脱机存储设备

6、CKPT 检查点
   (1)可帮助减少实例恢复所需的时间量。在检查点期间,CKPT更新控制文件和数据文件的标题,从而反映最近成功的系统改变号(System Change Number, SCN)。
   (2)每次进行重做日志文件切换时,都自动产生一个检查点  
   (2)DBWn进程按照常规写入脏缓冲区,将检查点从实例恢复可以开始的位置提前,从而减少平均恢复时间(Mean Time to Recovery, MTTR)。

   CKPT > 数据文件
   CKPT > 控制文件
   
 
7、RECO 恢复器进程
   用于处理分布式事务(包括对多个数据库中的表进行改动的事务)的故障。
   如果同时改动两个数据库的表,在更新一个数据库中的表之前,两个数据库之间的网络连接失败了,则RECO将回滚失败的事务。
   
   系统全局区域的进程

8、D000调度程序进程
   用户进程 <  > D000
   共享服务器进程 <  > D000

 

SMON 系统监控器    PMON 进程监控器    RECO恢复器进程

D000调度程序进程

ARCn 归档程序    CKPT 检查点    LGWR 日志写入程序    DBWn 数据库写入程序

你可能感兴趣的:(Oracle 11g笔记——后台进程)