oracle 10g进程之PMON、RECO、ARCn
oracle 10g进程之PMON、RECO、ARCn
PMON:processmonitor process进程监控
在用户进程中断(非正常)时执行数据复原。
PMON负责清理数据缓冲池和释放用户进程使用的资源,如恢复未提交的事务、释放锁、和删除进程列中死掉的进程等。
PMON周期性的检查‘dispatcher’和服务器进程的状态,并且重启那些非正常终止的oracle进程(不包括有意删除的进程)。
PMON有规律地被唤醒,检查是否需要,或者其它进程发现需要时可以被调用。
RECO:recovererprocess恢复
该进程是在具有分布式选项时所使用的一个进程,自动地解决在分布式事务中的故障。一个结点RECO后台进程自动地链接到包含有悬而未决的分布式事务的其它数据库中,RECO自动地解决所有悬而不决的事务。任何相当于已处理的悬而不决的事务的行将以每一个数据库的悬挂事务表中删去。当一数据库服务器的RECO后台进程师徒建立同一远程服务器的通信,如果远程服务器是不可用或者网络连接不能建立时,RECO自动地在一个时间间隔之后再次连接,RECO后台进程仅当在允许分布式事务的系统中出现,而且DISTRIBUTED-TRANSACTION参数限制的(大于0)。
ARCn:Archiverprocess 归档进程
ARCn会在日志交换发生之后复制重做日志文件到指定的存储设备中。
ARCn发生的前提:
1、 数据库必须是归档模式;
2、 数据库必须是自动归档。
Oracle实例能够拥有10个ARCn进程(ARC0~ARC9),当先行的ARCn进程数不足以处理工作负荷时,LGWR进程就会启动一个新ARCn进程,同事重做日志会将LGWR启动新ARCn进程的操作记录下来。
遇到类似批量加载这种高负荷归档操作时,可以通过参数LOG_ARCHIVE_MAX_PROCESSES的大小指定ARCn的数目处理事务。
事实上,可以不去修改这个参数(LOG_ARCHIVE_MAX_PROCESSES)的默认值,因为oracle系统会自主决定ARCn进程的需求量。LGWR进程会根据数据库的工作量的需求启动ARCn进程。