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进程。