Rolling upgrade with Transient Logical Standby is known as a MAA (Maximum Availability Architecture) technique, to minimize downtime during upgrade of Oracle database. 

This note will document the steps for performing the Advanced Data Guard method of Transient Logical Rolling Upgrade.

The following picture provides the general flow for an example migration of on-premise database to Oracle Cloud.  This document will focus on steps 2 and 4 from the image.

Migration and upgrade of Production database with a minimum downtime by using script.

Use the script

From Oracle Support document  Oracle11g Data Guard: Database Rolling Upgrade Shell Script (Doc ID 949322.1) you can download the scriptThe assumptions are below:

  1. Create a Physical Standby database with “Duplicate target database for standby from active database”
  2. Recover managed standby database disconnect.
  3. Standby database must be in sync and put the database into Maximum Availability or Maximum Protection mode
  4. Convert physical standby to logical standby.

Before running the script, we have to do some checks

At Primary

  1. Flashback must be ON
  2. DG Broker set to False
  3. Standby file management=auto
  4. Production database in read write mode.

At Standby

  1. Flashback must be ON
  2. DG Broker set to False
  3. Standby file management=auto
  4. Active standby database recovery must be stopped
  5. Standby database must be on Mount Stage


physru accepts the following arguments:

<username> = sys should be used
<primary_tns> = tns service name to primary
<standby_tns> = tns service name to physical standby
<primary_name> = db_unique_name of primary (or any identifying string)
<standby_name> = db_unique_name of standby (or any identifying string)
<upgrade_version> = target rdbms version

Note: Click on images to read the content. Apologies for improper resolution

On Primary Side

we can run the script on primary side.

At Standby database

Check the database role and name.

Now Upgrade the logical database by dbua or Manually , we will upgraded the database with DBUA.

Finally logical database upgrade successfully.

Next step is to OPEN the standby database in read write mode as suggested by the script

Now at the Primary Site Run again  Physru script

In this step, the primary database will become the logical standby database and logical standby database become primary database but it has db_unique_name=finan which is running on

It has applied all the update which are made to the database while upgrading the standby logical database into 12c and then it will switch-over the roles.

Now I will mount my primary database, which is currently has Physical Standby database role with new binary.

Third call of the script will flashback the Primary to the guaranteed restore point, created at the first call of the script.

Finally , Upgrade completed successfully.

Thank you for giving your valuable time to read the above information.

If you want to be updated with all our articles send us the Invitation or Follow us:

Skant Gupta’s LinkedIn:

Joel Perez’s LinkedIn: Joel Perez’s Profile

Anuradha’s LinkedIn: Anuradha’s Profile

LinkedIn Group: Oracle Cloud DBAAS

Facebook Page: OracleHelp


  1. Pingback: Transient Logical Standby - Rolling Upgrades - Overview

  2. veera

    I tried this solution. got stuck up during second run. Unable to send redo from to sys can connect as sysdba. How to setup password file in 12.2?

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.