Oracle 11g ADG遇到Instance terminated by LGWR
Dec062017
今天丑时,BI的一个数据库挂了,早上到公司同事已经修复好了,告警日志显示的问题是Instance terminated by LGWR。
Wed Dec 06 02:34:59 2017 Errors in file /u01/app/oracle/diag/rdbms/ivlstd3/ivlstd3/trace/ivlstd3_lgwr_40339.trc: ORA-04021: timeout occurred while waiting to lock object LGWR (ospid: 40339): terminating the instance due to error 4021 Wed Dec 06 02:34:59 2017 opiodr aborting process unknown ospid (50722) as a result of ORA-1092 Wed Dec 06 02:35:00 2017 System state dump requested by (instance=1, osid=40339 (LGWR)), summary=[abnormal instance termination]. System State dumped to trace file /u01/app/oracle/diag/rdbms/ivlstd3/ivlstd3/trace/ivlstd3_diag_40315_20171206023500.trc Instance terminated by LGWR, pid = 40339
这是一个物理备库(ADG),数据库版本是11.2.0.4.0 for linux 64bit,操作系统使用的是OEL 6.5,同事启动这个备库并且启动MRP进程的时候,只是遇到了GAP,把日志传过来后,一切正常。
通过MOS查询,发现这可能是ADG的BUG,解决方法是修改_adg_parselock_timeout隐含参数,下面是MOS的文章信息。
APPLIES TO: Oracle Database - Enterprise Edition - Version 11.2.0.4 and later Information in this document applies to any platform. SYMPTOMS ORA-04021: timeout occurred while waiting to lock object CAUSE Bug 18242740?ACTIVE STANDBY DATABASE CRASHED WITH ORA-4021 closed as duplicate of?Bug 17018214?- ORA-600 [KRDRSB_END_QSCN_2] SOLUTION Fix is already included in 11.2.0.4 but the fix is DISABLED by default. To enable the fix ?set "_adg_parselock_timeout" to the number of centi-seconds LGWR should wait before backing off and retrying the request. Set ?the parameter "_adg_parselock_timeout"? On the Active Data Guard Standby set below parameter and restart standby: ALTER SYSTEM set "_adg_parselock_timeout"=550 scope=both;