(1)SMON(System monitor):
SMON负责系统监视已经一些系统清理及恢复工作,这些工作主要包括:
a.清理临时空间以及临时段
SMON负责在数据库启动时清理临时表空间中的临时段,或者一些异常操作过程遗留下来的临时段,例如,当创建索引过程中,创建期间分配给索引的Segment被标志为TEMPORARY,如果Create Index (或rebuild Index等)会话因某些原因异常中断,SMON负责清理这些临时段。
b.接合空闲空间
在DMT(字典管理表空间)中,SMON负责把那些在表空间中空闲的并且互相是邻近的Extent接合成一个较大的空闲扩展区,这需要表空间的pctincrease设置为非零值。
c.执行实例恢复(Instance recovery)
在实例恢复过程中,SMON的工作包括三个环节:应用Redo执行前滚、打开数据库提供访问、(UNDO)回滚未提交数据
(2)PMON(Process Monitor)
PMON 用于监视服务器进程的执行,并且在服务器失败时清除改服务进程;
负责对失败的用户进程或服务进程进行恢复,并释放进程所占用的资源。
用户可能关闭客户端程序,但是却没有从数据库中退出,或者由于网络的突然中断而造成一个数据库连接的异常终止。这时,Oracle将PMON进程来启动清除中断或失败的用户进程,包括清除非正常中断的用户进程留下的孤儿会话,回退未提交的事务,释放会话所占用的锁、SGA区、PGA区等资源。
此外,它还会定期的检查调度程序和服务程序进程的状态。
SMON相似,PMON也会定期的被唤醒。
(3)