oracle 11g 必需的后台进程:PMON、DBWn、LGWR、CKPT、SMON、VKTM

PMON:进程监控进程

1、实例第一个启动的后台进程

2、监控其他oracle后台进程的职责,必要时重启这些后台进程

3、向TNS监听器注册实例


DBWn:数据库写进程

1、将内存种变更的数据写入磁盘数据文件

2、最多配置20个数据库写进程 DBW0--DBW9, DBWa--DBWj


LGWR:日志写进程

1、管理SGA中的Redo Log Buffer,将其中的内容连续写出到在线的日志文件中

2、Redo中记录的是可以重演的事务变更的必要信息,在事务提交时,日志必须写出到日志文件中

3、通过LGWG对于日志文件的连续写出,就可以推延了DBWR对于脏数据的写出,从而保证DBWR可以实现批量写出的性能提升


CKPT:检查点进程

1、负责更新控制文件和数据文件头的检查点信息

2、通知DBWn进程去执行写操作

3、检查点信息包括:检查点位置、SCN、Redo的恢复位置等


SMON:系统监控进程

1、在数据库启动时,执行必要的实例恢复

2、执行实例恢复时跳过中断事务,如由于读文件或表空间离线等错误,在实例恢复时无法执行,SMON则可以在表空间或文件在线时执行事务恢复

3、回滚死事务,当一个进程异常中断,它的未提交事务就成为了死事务,由SMON进程负责回滚

4、清理不再使用的临时段,例如当索引创建失败时产生的遗留临时段

5、在字典管理表空间中,执行连续自由区间的合并

6、维护SMON_SCN_TIME系统表。SMON_SCN_TIME表记录了SCN与时间的对应关系,由SMON定期进行更新,并将一些较老的数据定期删除

7、维护col_usage$数据字典表、维护mod_mods$系统表

8、定期offline多余的回滚段

9、清理obj$数据字典表中的垃圾数据


VKTM:虚拟时钟进程(11g引入的进程)



v$process视图

1、在v$process 的查询输出中SPID列代表的就是操作系统上的进程号,通过SPID可以将进程从操作系统到数据库关联起来。如果在操作系统上发现某个进程异常(如占用很高的CPU资源),那么通过操作系统上的PID和v$process视图中的spid关联,就可以找到这个os上进程在数据库内部的化身,从而可以进行进一步的跟踪诊断。

2、v$process视图包含当前数据库中活动的进程的相关信息,这些进程在操作系统上都存在与之对应的OS进程。