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实例进行通信。


你可能感兴趣的:(oracle,10g,后台进程)