一、PMON简介
二、PMON的工作内容如下:
1、监控后台进程运行状况
2、如果某些进程异常中断,PMON去释放会话资源以及占用的锁LOCK
3、更新事务表的标志以及清除事务XID的标记
4、清除异常中断会话在BUFFER CACHE占用的缓存
5、PMON也负责定期把数据库实例注册到监听器中
三、
我们在学习Oracle基础知识的时候肯定了解过PMON后台进程的功能,包括轮训其他ORACLE PROCESS,清理cleanup dead process并释放锁release enqueue lock ,及清理cleanup latch。
虽然这些理论在你耳边萦绕了千百回, 但你是否有亲眼见证过一次Pmon cleanup dead process并release lock呢?大多数人可能没有。
微观Oracle=> MicroOracle, Maclean带领你见证微观视角下的Oracle behavior:
SQL> select * from v$version;
BANNER
--------------------------------------------------------------------------------
Oracle Database 11g Enterprise Edition Release 11.2.0.3.0 - 64bit Production
PL/SQL Release 11.2.0.3.0 - Production
CORE 11.2.0.3.0 Production
TNS for Linux: Version 11.2.0.3.0 - Production
NLSRTL Version 11.2.0.3.0 - Production
SQL> select * from global_name;
GLOBAL_NAME
--------------------------------------------------------------------------------
www.askmaclean.com
SQL> select pid,program from v$process;
PID PROGRAM
---------- ------------------------------------------------
1 PSEUDO
2 oracle@vrh1.oracle.com (PMON)
3 oracle@vrh1.oracle.com (PSP0)
4 oracle@vrh1.oracle.com (VKTM)
5 oracle@vrh1.oracle.com (GEN0)
6 oracle@vrh1.oracle.com (DIAG)
7 oracle@vrh1.oracle.com (DBRM)
8 oracle@vrh1.oracle.com (PING)
9 oracle@vrh1.oracle.com (ACMS)
10 oracle@vrh1.oracle.com (DIA0)
11 oracle@vrh1.oracle.com (LMON)
12 oracle@vrh1.oracle.com (LMD0)
13 oracle@vrh1.oracle.com (LMS0)
14 oracle@vrh1.oracle.com (RMS0)
15 oracle@vrh1.oracle.com (LMHB)
16 oracle@vrh1.oracle.com (MMAN)
17 oracle@vrh1.oracle.com (DBW0)
18 oracle@vrh1.oracle.com (LGWR)
19 oracle@vrh1.oracle.com (CKPT)
20 oracle@vrh1.oracle.com (SMON)
21 oracle@vrh1.oracle.com (RECO)