问题现象
今天在生成一套rac的awr报告时,发现只有一号节点的数据,这是一套11.2.0.4的rac。
| 12
 3
 
 | sys@TFDW1> select * from Dba_Hist_Snapshot where instance_number=2;
 未选定行
 
 | 
查看mmon进程信息,发现二号节点并没有这个进程
| 12
 3
 
 | [root@tfdw2 ~]# ps -ef|grep mmongrid      38361      1  0 Feb24 ?        01:30:51 asm_mmon_+ASM2
 root     126466 126429  0 16:04 pts/1    00:00:00 grep mmon
 
 | 
而一号节点是正常的
| 12
 3
 4
 
 | [root@tfdw1 ~]# ps -ef|grep mmongrid      37050      1  0 Dec10 ?        00:03:04 asm_mmon_+ASM1
 oracle    53834      1  0 Dec10 ?        00:12:44 ora_mmon_tfdw1
 root      79038  42730  0 16:04 pts/0    00:00:00 grep mmon
 
 | 
要知道mmon进程属于可以被pmon respawned的进程之一,也就是pmon会监控这些进程的运行状况,发现异常则会进行重启,而现在的现象确实进程不存在。
查看alert日志:
| 12
 3
 
 | Receiver: inst 1 binc 429508292 ospid 52558IPC Send timeout to 1.4 inc 4 for msg type 65518 from opid 16
 IPC Send timeout detected. Sender: ospid 51409 [oracle@tfdw2 (MMON)]
 
 | 
想起来了是之前单独重启过一号实例,二号实例给一号实例发送通信信息时,返回超时(默认300s)。
查看MMON日志
| 12
 3
 4
 5
 6
 7
 8
 9
 10
 11
 12
 
 | DDE rules only execution for: ORA 12751----- START Event Driven Actions Dump ----
 ---- END Event Driven Actions Dump ----
 ----- START DDE Actions Dump -----
 Executing SYNC actions
 Executing ASYNC actions
 ----- START DDE Action: 'ORA_12751_DUMP' (Sync) -----
 Runtime exceeded 300 seconds
 Time limit violation detected at:
 ksedsts()+465>-kspol_12751_dump()+145>-dbgdaExecuteAction()+1065>-dbgerRunAction()+109>-dbgerRunActions()+4134>-dbgexPhaseII()+1873>-dbgexProcessError()+2680>-dbgeExecuteForError()+88>-dbgePostErrorKGE()+2136>-
 dbkePostKGE_kgsf()+71>-kgeselv()+276>-ksesecl0()+162>-ksucin()+147>-kjuinq()+2316>-ksiinqi()+245>-ksqinq()+448>-kclriprog()+45>-ktucloRacMasterAction()+479>-ktucloRacAction()+861>-ksb_run_managed_action()+384>-ksbcti()+852>-ksbabs()+1735>-kebm_mmon_main()+209>-k
 sbrdp()+1045>-opirip()+623>-opidrv()+603>-sou2o()+103>-opimai_real()+250>-ssthrdmain()+265>-main()+201>-__libc_start_main()+253Current Wait Stack:
 
 | 
看起来就是通信异常,导致在reconfig的时候进程异常被pmon终止了。
现在问题时在通信恢复以后为什么进程没有重新启动。
MOS上可以查到是个bug
Bug 19565533 – MMON/MMNL CAN NOT BE AUTOMATICALLY RESTARTED AFTER KILLED
The issue only occurs on 11.2.0.4 and is a regression of the fix for Bug 14213856
解决办法
Tips:启用restricted模式后,应用新连接数据库的会话将直接报错ORA-12526无法连接