Oracle 后台进程(10G)(
后台进程包括以下几种
进程
缩写
描述
Database Writer
DBWRn
将脏数据写回磁盘
Log Writer
LGWR
把日志数据写到联机日志文件
Checkpoint
CKPT
负责检查点操作
Process Monitor
PMON
负责维护用户进程
System Monitor
SMON
负责实例恢复
Archiver
ARCn
归档操作,生成归档日志
Manageability Monitor
MMON
和AWR相关
Manageability Monitor Light
MMNL
和AWR相关
Memory Manager
MMAN
和自动SGA管理相关
Job Queue Coordination Process
CJQO
定时任务进程
Recover Writer
RVWR
和Flashback Database功能相关
Change Tracking Writer
CTWR
跟踪数据块变化,支持快速增量备份
DBWRn:
DBWRn使用的是LRU(Least Recently Used)算法来从SGA写数据到数据文件。
DBWRn写磁盘时机包括:
检查点,
Server Process在寻找空闲数据块时,超过阈值仍然没有找到就会触发DBWRn。
每3秒。
数据库中最多允许20个DBWR进程,初始化使用DB_WRITER_PROCESSES来定义n,如果没有定义,Oracle会按照每8个CPU一个进程进行分配。
使用异步IO有可能解决同样的问题,不必增加DBWRn。
LGWR:
LGWR写操作有如下原因:
原因1:commit(commit的时候不会直接写DB,而是写到日志文件,一弹写日志文件成功,就会返回commit complete)
原因2:redo log达到1MB
原因3:redo log buffer使用量超过总量1/3
原因4:每3秒钟
原因5:DBWn写磁盘
两种机制:
提前写(Write-Ahead),即DBWRn写数据文件前先确定和数据块相关的redo记录,然后通知LGWR写入磁盘。
快速提交(Fast Commit),即只要redo记录写到日志中,事务就算提交成功。
此外,对于一个繁忙的OLTP,LGWR会把许多commit批量写入日志,而非针对每个commit,这种机制叫做Group Commit。
CKPT:
检查点保证数据一致性状态。在检查点时刻数据文件的内容和SGA内容完全一致。此时SGA中所有脏数据会写入数据文件。
检查点时,DBWRn写数据文件,LGWR写日志,CKPT写控制文件。
检查点类型:
检查点分类
说明
Instance Recovery Checkpoint
设置了FAST_START_MTTR_TARGET等参数后触发
Media Recovery Checkpoint
ALTER BEGIN BACKUP时触发的检查点
Thread Checkpoint
日志线程检查点,如果有多个日志线程,控制文件会记录多个线程检查点信息
Internal Checkpoint
设置LOG_CHECKPOINT_INTERVAL等参数后导致的检查点
Tablespace Checkpoint
使用ALTER TABLESPACE OFFLINE时触发的表空间级别检查点
Close Database Checkpoint
关闭数据库时的检查点
Incremental Checkpoint
增量检查点(减小实例崩溃恢复时间)
Local Database Checkpoint
ALTER SYSTEM CHECKPOINT触发的本实例检查
Global Database Checkpoint
ALTER SYSTEM CHECKPOINT GLOBAL触发整个数据库检查点(RAC环境)
PMON:
负责在发现用户进程异常终止后的清理工作,以确保释放占用的资源。例如内存、锁等。PMON会定期唤醒,其它进程也会在需要时主动唤醒PMON。
RAC环境中PMON进程还会向监听器注册负载信息,这对LB非常重要。
SMON:
负责实例恢复(数据库异常关闭,SGA还没有来得及写到磁盘就就关闭了,在此启动时需要实例恢复)。
分为三个阶段:
前滚:读取日志,找到最后一次检查点时间后的日志、重做。
打开数据库。
回滚:SMON回滚未提交事务。(Server Process)也可以进行部分回滚。
SMON其他功能包括:
DMT中,SMON进行空闲Extents合并,每3秒一次。
清理临时段,释放空间。
SMON会定期被唤醒或被其他进程主动唤醒。
ARCn:
负责归档。日志切换时ARCn会被唤醒,每个联机日志能够被覆盖的前提就多了一个,就是完成检查点,还要完成归档操作。
n最多是10个,初始化参数LOG_ARCHIVE_MAX_PROCESSES定义启动时的ARCn的个数。
MMON:
10G以后的版本引入,收集AWR需要的统计数据,这些数据是ADDM和其他自动管理的基础。MMON也生成Server-Generated报警信息。
MMNL:
和MMON一同完成数据收集。
MMAN:
负责自动内存管理。MMON、MMNL、MMAN配合工作。
CJQO:
定时任务。ORACLE 10G有两种定时任务引擎,SCHEDULE和JOB。
CJQO负责生成(Job Queue Slave Process进程)(J000~J999),由具体的Jxxx进程执行用户任务。
RVWR:
要使用FLASHBACK DATABASE功能就要使用FLASHBACK LOG,这些日志是数据块的前镜像,这些日志是由RVWR写成的。
CTWR:
ORACLE 10G跟踪改变的数据块地址,由CTWR进程写入Change-Tracking File。
RBAL、ARBn、ASMB:
这三个是ASM相关的进程。
RBAL(Rebalance Master):协调Disk Rebalance活动。
ARBn(ASM Rebalance):负责真正的Disk Rebalance工作。
ASMB(ASM Background):负责和ASM实例进行通信。
页:
[1]