Running a Zero-Downtime Upgrade Using Oracle Data Guard for Replication

Run a zero-downtime upgrade using Oracle Data Guard for replication.

You can run the zero-downtime upgrade command using Oracle Data Guard’s transient logical standby (TLS) feature. All of the steps involved are orchestrated by the zero-downtime upgrade command.
After you provision the destination database Home, the following prerequisites must be met:
  • Data Guard Broker is not enabled

  • Flash recovery area (FRA) is configured

  • The following example of a zero-downtime upgrade using Oracle Data Guard upgrades an Oracle Database 11g release 2 (11.2.0.4), sierra, running on the target cluster, which includes a node, targetclust003, to an Oracle Database 12c release 1 (12.1.0.2) (the destination working copy, which was provisioned from a Gold Image stored on the Fleet Patching and Provisioning Server named rhps.example.com):
    $ rhpctl zdtupgrade database -dbname sierra -destwc WC121DB4344 -clonedatadg DBDATA -targetnode node90743 -root
    
    Enter user "root" password:
    node90753.example.com: starting zero downtime upgrade operation ...
    node90753.example.com: verifying patches applied to Oracle homes ...
    node90753.example.com: verifying if database "sierra" can be upgraded with zero downtime ...
    node90743: 15:09:10.459: Verifying whether database "sierra" can be cloned ...
    node90743: 15:09:10.462: Verifying that database "sierra" is a primary database ...
    node90743: 15:09:14.672: Verifying that connections can be created to database "sierra" ...
    < ... >
    node90743: 15:14:58.015: Starting redo apply ...
    node90743: 15:15:07.133: Configuring primary database "sierra" ...
    ####################################################################
    node90753.example.com: retrieving information about database "xmvotkvd" ...
    node90753.example.com: creating services for snapshot database "xmvotkvd" ...
    ####################################################################
    node90743: 15:15:33.640: Macro step 1: Getting information and validating setup ...
    < ... >
    node90743: 15:16:02.844: Macro step 2: Backing up user environment in case upgrade is aborted  ...
    node90743: 15:16:02.848: Stopping media recovery for database "xmvotkvd" ...
    node90743: 15:16:05.858: Creating initial restore point "NZDRU_0000_0001" ...
    < ... >
    node90743: 15:16:17.611: Macro step 3: Creating transient logical standby from existing physical standby ...
    node90743: 15:16:18.719: Stopping instance "xmvotkvd2" of database "xmvotkvd" ...
    node90743: 15:16:43.187: Verifying that database "sierra" is a primary database ...
    < ... >
    node90743: 15:19:27.158: Macro step 4: Upgrading transient logical standby database ...
    node90743: 15:20:27.272: Disabling service "sierrasvc" of database "xmvotkvd" ...
    node90743: 16:36:54.684: Macro step 5: Validating upgraded transient logical standby database ...
    node90743: 16:37:09.576: Creating checkpoint "NZDRU_0301" for database "xmvotkvd" during stage "3" and task "1" ...
    node90743: 16:37:09.579: Stopping media recovery for database "xmvotkvd" ...
    node90743: 16:37:10.792: Creating restore point "NZDRU_0301" for database "xmvotkvd" ...
    node90743: 16:37:11.998: Macro step 6: Switching role of transient logical standby database ...
    node90743: 16:37:12.002: Verifying that database "sierra" is a primary database ...
    < ... >
    node90743: 16:39:07.425: Macro step 7: Flashback former primary database to pre-upgrade restore point and convert to physical standby ...
    node90743: 16:39:08.833: Stopping instance "sierra2" of database "sierra" ...
    < ... >
    node90743: 16:41:17.138: Macro step 8: Recovering former primary database ...
    node90743: 16:41:19.045: Verifying that database "sierra" is mounted ...
    < ... >
    node90743: 17:20:21.378: Macro step 9: Switching back ...
    < ... >
    ####################################################################
    node90753.example.com: deleting snapshot database "xmvotkvd" ...