异常问题:
突然收到告警,ADG实例状态异常。
环境:
版本:Oracle 11.2.0.4.201020
状态:Active Dataguard
问题:
查看Oracle实例alert日志,发现有异常报错:
Thu Dec 12 22:15:23 2024
Errors in file /app/oracle/diag/rdbms/xxx_cloud/xxx/trace/xxx_lgwr_111105.trc:
ORA-04021: timeout occurred while waiting to lock object
LGWR (ospid: 111105): terminating the instance due to error 4021
Thu Dec 12 22:15:24 2024
System state dump requested by (instance=1, osid=111105 (LGWR)), summary=[abnormal instance termination].
System State dumped to trace file /app/oracle/diag/rdbms/xxx_cloud/xxx/trace/xxx_diag_111085_20241212221524.trc
Dumping diagnostic data in directory=[cdmp_20241212221524], requested by (instance=1, osid=111105 (LGWR)), summary=[abnormal instance termination].
Instance terminated by LGWR, pid = 111105
trace日志:
error 4021 detected in background process
ORA-04021: timeout occurred while waiting to lock object
kjzduptcctx: Notifying DIAG for crash event
----- Abridged Call Stack Trace -----
ksedsts()+465<-kjzdssdmp()+267<-kjzduptcctx()+232<-kjzdicrshnfy()+63<-ksuitm()+1312<-ksbrdp()+3507<-opirip()+623<-opidrv()+603<-sou2o()+103<-opimai_real()+250<-ssthrdmain()+265<-main()+201<-__libc_start_main()+245
----- End of Abridged Call Stack Trace -----
分析:
查看mos,异常原因为bug引发:
Bug 16717701 - ADG SHOULD GET THE INSTANCE PARSE LOCK WITH A TIMEOUT ------> Superseded By Bug fix Bug 17018214
Bug 11712267 - ACTIVE DATA GUARD DATABASE HUNG ON 'LIBRARY CACHE: MUTEX X' WAIT EVENT
解决方案:
修改隐含参数:
alter system set "_adg_parselock_timeout"=500 scope=both sid='*';