1、pmon group
pmon组包括:pmon、cleanup main process(clmn)、cleanup helper process(clnn)进程
这些进程用于监控和清理其他进程。pmon group监视buffer cache的清理和客户端进程资源的释放。例如,pmon group可以重置活动事务表的状态,释放不需要的锁,从活动进程列表中移除终止进程的id。
1.1、PMON进程:全称process monitor process。
检查其他后端进程是否终止。如果一个服务进程或者dispatcher进程非正常终止,pmon group执行进程恢复。进程终止有很多种:系统杀掉或者alter system kill session语句杀掉。
1.2、CLMN进程:cleanup main process。
pomn进程委派给clmn清除工作。clmn周期性执行已经超时的终止进程、终止会话、事物、网络连接、空闲会话、附加事物、附加网络连接的清理工作。
1.3、clnn:cleanup helper process。
clmn进程委派clnn完成清理工作。clnn进程协助清理终止的进程和会话
可以通过查看V$CLEANUP_PROCESS或者 V$DEAD_CLEANUP视图来查看clmn清理的元数据。如果V$CLEANUP_PROCESS.STATE 值为busy,那么表示当前正在执行清理工作。
数据库资源隔离:pmon group可以自动的隔离损坏的未修复的资源,这样可以避免实例强制终止。可以通过 V$QUARANTINE视图查看元数据。
2、PMAN:process manager
监视shared server、pooled server、job queue等进程
pman监控、启动、停止下面的进程:
Dispatcher and shared server processes
Connection broker and pooled server processes for database resident connection pools
Job queue processes
Restartable background processes
3、LREG:listener registration process。
用于注册oralce实例信息和分配器信息到oracle net listener。当实例启动,LREG轮询listener来确定是否正常运行。如果listener运行,LREG传递给它相关参数。如果没有运行,LREG进程周期性尝试连接它。
** 在12c之前,pmon进程执行监听注册。
4、SMON:system monitor process。
smon负责各个系统级别的清理工作
执行实例恢复(如果实例在启动时有必要的话)。在rac数据库,一个数据库实例的smon进程能够执行一个失败的实例的恢复。
恢复被终止的事物(因为file-read或者表空间离线错误在实例恢复的过程中跳过的事务),当表空间或者文件online之后,smon恢复事务。
清理不用的临时段。例如:当创建索引的时候分配extent,如果操作失败,smon清理临时空间。
合并属于字典管理的表空间的相邻空闲段
5、DBW:database writer process。
dbw把db buffer的内容写入数据文件。一个进程DBW0对于大多数系统就足够用了,但是可以配置多个进程:DBW1-DBW9,DBWa-DBWz,BW36-BW99来提高系统修改数据的性能。但是对于单处理器的系统来说,配置多个进程也不起作用。
DBW写脏块的条件:
当服务进程在buffer内找不到可用的buffer块时,服务进程发信号给DBW让其刷脏块。DBW可以在执行其他进程时异步刷新脏块。
DBW周期性执行刷脏来推进checkpoint,checkponit位置用于redo线程实例恢复开始的位置。checkpoint的日志位置由buffer cache最老的脏块决定。
在许多情况下,dbw刷脏是遍历所有磁盘的。因此,DBW相比于顺序写的LGWR性能慢。
6、LGWR:log wirter process。
写redo的buffer数据到online redo log。
执行条件:
用户commit
online redo log switch
每3s执行一次
redo log buffer占用了buffered data的1/3或者是占用了1M
DBW
7、ckpt:checkpoint process
将checkpoint information更新到控制文件和数据文件的头信息里,并向dbw进程发送信号使其写数据到磁盘。
checkpoint information包括信息:检查点、scn、开始恢复的在线redo日志的位置
8、mmon:manageability monitor process
执行和automatic workload repository(awr)相关的任务。
mmnl:manageability monitor lite process:当ash的buffer满了,把sga下的ash的buffer数据写到磁盘。
9、RECO:recoverer process
自动连接到存在可疑分布式事务的其他的数据库。当RECO重建了数据库之间的连接,它自动解决可疑事务,移除每个数据库的等待事务表的任意行(与前面解决事务相关的行)。
10、ARCn:Archiiver processes
在redo log切换之后,拷贝online redo log到离线存储。该进程还能用于收集事务redo数据传送到standby数据库目的地。