Go to main content

Oracle® Solaris Cluster Data Service for Oracle Database Guide

Exit Print View

Updated: September 2019
 
 

Changing the Role of an Oracle Data Guard Instance

Database role failover or switchover is possible between an Oracle Database primary database and an Oracle Database standby database. When you use Oracle Database commands to change the role of Oracle Data Guard instances, the changes are not propagated to the Oracle Solaris Cluster resources that represent these instances. Therefore, you must also use Oracle Solaris Cluster commands to change extension properties of these resources to ensure that database instances are started in the correct role.

How to Change the Role of an Oracle Data Guard Instance

  1. Prevent Oracle Solaris Cluster from starting the instance in an incorrect role.

    If an Oracle Solaris Cluster node fails while you are changing the role of an Oracle Data Guard instance, Oracle Solaris Cluster software might restart the instance in an incorrect role. To prevent this possibility, change the Dataguard_role extension property of the Oracle Database server resource that represents the instance to IN_TRANSITION.

    # clresource set -p Dataguard_role=IN_TRANSITION server-rs
  2. Perform the required operations on the Oracle database to convert the database to a new role.
  3. Change the following extension properties of the Oracle Database server resource that represents the instance to reflect the new role of the instance:
    • Dataguard_role

    • Standby_mode

    The required combination of Dataguard_role and Standby_mode depends on the change of role, as follows:

    • To change from a primary database to a physical standby database, run the following command:
      # clresource set -p Dataguard_role=STANDBY -p Standby_mode=PHYSICAL server-rs
    • To change from a primary database to a logical standby database, run the following command:
      # clresource set -p Dataguard_role=STANDBY \
      -p Standby_mode=LOGICAL server-rs
    • To change from a standby database to a primary database, run the following command:
      # clresource set -p Dataguard_role=PRIMARY server-rs
    • To change from a physical standby database to a snapshot standby database, run the following command:
      # clresource set -p Standby_mode=SNAPSHOT server-rs