Skip to content

Why Does Data Guard Broker Restart Only One Instance in RAC

  • by
One of common database architectures on enterprise-level is to integrate both RAC and Data Guard technologies, one RAC is for primary, the other RAC is for standby. The primary database is usually startup to open state, all primary instances can transport the redo data to the standby side, and all standby instances can receive the redo data, but only one standby instance can do the apply service.

After a switchover that conducted by the data guard broker, you will find out that the broker restarted all instances of current primary RAC to open state, but restarted only one instance of current standby RAC to receive and apply redo log files.

The following is a demonstration of switchover by broker:
DGMGRL> switchover to standb
Performing switchover NOW, please wait...
Operation requires shutdown of instance "primdb2" on database "primdb"
Shutting down instance "primdb2"...
Database closed.
Database dismounted.
ORACLE instance shut down.
New primary database "standb" is opening...
Operation requires shutdown of instance "primdb1" on database "primdb"
Shutting down instance "primdb1"...
ORA-01109: database not open


Database dismounted.
ORACLE instance shut down.
Operation requires startup of instance "primdb1" on database "primdb"
Starting instance "primdb1"...
ORACLE instance started.
Database mounted.
Switchover succeeded, new primary is "standb"

Now, check the current standby instance (former primary), you can notice that primdb2 instance status is SHUTDOWN.
DGMGRL> show instance primdb1

Instance 'primdb1' of database 'primdb'

  Host Name: primary01.example.com

Instance Status:
SUCCESS

DGMGRL> show instance primdb2

Instance 'primdb2' of database 'primdb'

  Host Name: primary02.example.com

Instance Status:
SHUTDOWN

Login the survived instance, we checked the gv$database, and it outcomes only one node.
[oracle@primary01 ~]$ sqlplus / as sysdba
...
SQL> select inst_id, open_mode, database_role, switchover_status from gv$database;

   INST_ID OPEN_MODE            DATABASE_ROLE    SWITCHOVER_STATUS
---------- -------------------- ---------------- --------------------
         1 MOUNTED              PHYSICAL STANDBY NOT ALLOWED

Only one instance of current standby left to receive and apply redo data, if you want to sustain the original architecture, you should restart all instances manually. If you do not startup the offline instance manually, it will be a weird architecture after a switch back, which means only one primary instance and one standby instance are online.

Leave a Reply

Your email address will not be published.