当前位置:Gxlcms > 数据库问题 > Oracle 11.2.0.1 ADG环境MRP进程遭遇ORA

Oracle 11.2.0.1 ADG环境MRP进程遭遇ORA

时间:2021-07-01 10:21:17 帮助过:10人阅读

环境:Linux + Oracle 11.2.0.1 ADG
现象:发现备库没有应用日志

1. 数据库查询备库目前状态
发现备库目前没有应用日志,apply lag已经显示备库有3天21小时多没有应用日志。

  1. <code>SQL> set linesize 1200
  2. SQL> SELECT OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS FROM V$DATABASE;
  3. OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS FOR DATAGUAR GUARD_S
  4. -------------------- ---------------- -------------------- --- -------- -------
  5. READ ONLY PHYSICAL STANDBY NOT ALLOWED YES DISABLED NONE
  6. SQL> select * from v$dataguard_stats;
  7. NAME VALUE UNIT TIME_COMPUTED DATUM_TIME
  8. -------------------------------- ---------------------------------------------------------------- ------------------------------ ------------------------------ ------------------------------
  9. transport lag +00 00:00:00 day(2) to second(0) interval 01/17/2017 16:07:12 01/17/2017 16:07:12
  10. apply lag +03 21:34:49 day(2) to second(0) interval 01/17/2017 16:07:12 01/17/2017 16:07:12
  11. apply finish time +00 03:10:34.000 day(2) to second(3) interval 01/17/2017 16:07:12
  12. estimated startup time 15 second 01/17/2017 16:07:12</code>

2. 查询alert告警日志
从alert告警日志中定位到ADG出现问题的时刻,有600报错信息,进而导致MRP进程终止,详细日志如下:

  1. <code>Fri Jan 13 18:32:25 2017
  2. Errors in file /home/oracle/opt/oracle/diag/rdbms/orcl/orcl/trace/orcl_pr03_22555.trc (incident=67480):
  3. ORA-00600: internal error code, arguments: [kcbr_apply_change_11], [], [], [], [], [], [], [], [], [], [], []
  4. Incident details in: /home/oracle/opt/oracle/diag/rdbms/orcl/orcl/incident/incdir_67480/orcl_pr03_22555_i67480.trc
  5. Slave exiting with ORA-600 exception
  6. Errors in file /home/oracle/opt/oracle/diag/rdbms/orcl/orcl/trace/orcl_pr03_22555.trc:
  7. ORA-00600: internal error code, arguments: [kcbr_apply_change_11], [], [], [], [], [], [], [], [], [], [], []
  8. Fri Jan 13 18:32:26 2017
  9. Errors in file /home/oracle/opt/oracle/diag/rdbms/orcl/orcl/trace/orcl_mrp0_22547.trc (incident=67448):
  10. ORA-00600: internal error code, arguments: [kcbr_apply_change_11], [], [], [], [], [], [], [], [], [], [], []
  11. Incident details in: /home/oracle/opt/oracle/diag/rdbms/orcl/orcl/incident/incdir_67448/orcl_mrp0_22547_i67448.trc
  12. Fri Jan 13 18:32:26 2017
  13. Trace dumping is performing id=[cdmp_20170113183226]
  14. Recovery Slave PR03 previously exited with exception 600
  15. Fri Jan 13 18:32:27 2017
  16. MRP0: Background Media Recovery terminated with error 448
  17. Errors in file /home/oracle/opt/oracle/diag/rdbms/orcl/orcl/trace/orcl_pr00_22549.trc:
  18. ORA-00448: normal completion of background process
  19. Managed Standby Recovery not using Real Time Apply
  20. Recovery interrupted!
  21. Fri Jan 13 18:32:27 2017
  22. Sweep [inc][67480]: completed
  23. Sweep [inc][67480]: completed
  24. Recovered data files to a consistent state at change 2010287982
  25. Errors in file /home/oracle/opt/oracle/diag/rdbms/orcl/orcl/trace/orcl_pr00_22549.trc:
  26. ORA-00448: normal completion of background process
  27. Errors in file /home/oracle/opt/oracle/diag/rdbms/orcl/orcl/trace/orcl_mrp0_22547.trc:
  28. ORA-00600: internal error code, arguments: [kcbr_apply_change_11], [], [], [], [], [], [], [], [], [], [], []
  29. MRP0: Background Media Recovery process shutdown (orcl)
  30. Sweep [inc][67448]: completed
  31. Sweep [inc2][67480]: completed
  32. Sweep [inc2][67448]: completed
  33. Trace dumping is performing id=[cdmp_20170113183227]
  34. Fri Jan 13 18:33:04 2017
  35. Using STANDBY_ARCHIVE_DEST parameter default value as USE_DB_RECOVERY_FILE_DEST</code>

3. 尝试手工启动备库MRP恢复进程
发现手工启动备库MRP恢复进程,告警日志中依然会报出相同ORA-600 [kcbr_apply_change_11]错误。

4. 尝试mount状态启动MRP恢复进程
发现在mount状态下,可以正常启动MRP恢复进程,等恢复完成后,重新开启ADG实时应用,一切正常。

  1. <code>shutdown immediate
  2. startup mount
  3. alter database recover managed standby database disconnect from session;
  4. 此时等待恢复完成...
  5. alter database recover managed standby database cancel;
  6. alter database open;
  7. alter database recover managed standby database using current logfile disconnect from session;</code>

查询备库状态确认一切正常:

  1. <code>SQL> SELECT OPEN_MODE, DATABASE_ROLE, SWITCHOVER_STATUS, FORCE_LOGGING, DATAGUARD_BROKER, GUARD_STATUS FROM V$DATABASE;
  2. OPEN_MODE DATABASE_ROLE SWITCHOVER_STATUS FOR DATAGUAR GUARD_S
  3. -------------------- ---------------- -------------------- --- -------- -------
  4. READ ONLY WITH APPLY PHYSICAL STANDBY NOT ALLOWED YES DISABLED NONE
  5. SQL> select * from v$dataguard_stats;
  6. NAME VALUE UNIT TIME_COMPUTED DATUM_TIME
  7. -------------------------------- ---------------------------------------------------------------- ------------------------------ ------------------------------ ------------------------------
  8. transport lag +00 00:00:00 day(2) to second(0) interval 01/17/2017 17:42:26 01/17/2017 17:42:26
  9. apply lag +00 00:00:00 day(2) to second(0) interval 01/17/2017 17:42:26 01/17/2017 17:42:26
  10. apply finish time +00 00:00:00.000 day(2) to second(3) interval 01/17/2017 17:42:26
  11. estimated startup time 18 second 01/17/2017 17:42:26</code>

5. 查询MOS,定位根本原因
查询MOS发现该现象与bug 10419984 相匹配
Bug 10419984 : ACTIVE DATA GUARD STANDBY GIVES ORA-600 [KCBR_APPLY_CHANGE_11]
建议应用该补丁防止该问题再次被触发。

Oracle 11.2.0.1 ADG环境MRP进程遭遇ORA

标签:建议   防止   rdb   slave   应用   data   over   active   media   

人气教程排行