Behavior of Active Dataguard(ADG) When Apply Node Aborts/Crash (文档 ID 1613719.1)
APPLIES TO:
Oracle Database - Enterprise Edition - Version 11.1.0.6 to 12.1.0.1 [Release 11.1 to 12.1]Information in this document applies to any platform.
SYMPTOMS
In RAC Active Dataguard if apply instance crashes all the other instance transitioned from read only to mount mode.
CAUSE
This behaviour is explained in Note 1357597.1 and Bug 12946790 - APPLY INSTANCE CRASH IN ACTIVE DATAGUARD TRANSITIONS CLOSES OPEN STANDBY INSTANC
SOLUTION
EXPLANATION
--------------
Before this feature (prior to 12.1), when the ADG apply instance crashed in the middle of applying changes (standby media recovery session is on-going), all remaining open instances will be closed.
But from 12.1 when the apply instance crashed in the middle of applying changes, one of the remaining open instances will be automatically posted to do "ADG instance recovery", after the ADG instance recovery.We can see this, ADG instance recovery by checking the alert log, for the messages like "Beginning ADG Instance Recovery" and "Completed ADG Instance Recovery". If DG broker is enabled then Broker will start the MRP on any of the surviving instances.
Please note that the new feature is enabled by default in 12.1. We backported it to 11.2.0.4, you can enable it on 11.2.0.4 by setting "_adg_instance_recovery=TRUE".
The default behaviour on 11.2.0.4 is to close all remaining open instances.
Test case
------------
I have 2 node primary and 3 node physical standby(instance number 2,4 and 5).
MRP running on instance 2 and other instances are in open read only.
1. On instance 2,
SQL> select d.open_mode,i.instance_number from v$database d, v$instance i;
OPEN_MODE INSTANCE_NUMBER
-------------------- ---------------
READ ONLY WITH APPLY 2
SQL> select process,status,sequence#,thread# from v$managed_standby where process like '%MRP%';
PROCESS STATUS SEQUENCE# THREAD#
--------- ------------ ---------- ----------
MRP0 WAIT_FOR_LOG 22 1
SQL> show parameter _adg
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_adg_instance_recovery boolean TRUE
2. On instance 4,
no rows selected
SQL> show parameter _adg
NAME TYPE VALUE
------------------------------------ ----------- ------------------------------
_adg_instance_recovery boolean TRUE
3. Shut abort instance 2.
ORACLE instance shut down.
SQL> exit
4. Instance 4 still open_read only.
OPEN_MODE INSTANCE_NUMBER
-------------------- ---------------
READ ONLY 4
NOTE :
1. As said before if DG broker configured then Broker will start MRP on any one of the available instances.
2. If you want to use ADG instance recovery feature on 11.2.0.4 (including 11.2.0.4 BP or PSUs), please make sure the following patches for following fixes are present. The ADG instance recovery feature is not usable without those fixes.
- Bug fix for 18331944.
- Bug fix for 19516448.