About Upgrading Using Standby Databases

You can perform rolling upgrades of databases using physical standbys, Oracle Data Guard, or Oracle Enterprise Manager Cloud Control.

You can perform rolling upgrades using standby databases. During the upgrade, you can run different releases of Oracle Database software on the primary and standby databases. You can then upgrade databases one at a time to reduce your downtime on the primary database. Use one of the following methods to carry out this upgrade procedure:

  • SQL Apply and logical standby databases

    You can use Oracle Data Guard SQL Apply on a logical standby database to perform a rolling upgrade to the new Oracle Database release. A logical standby accepts archived logs while the upgrade is in progress. Data protection is maintained during the Data Guard database rolling upgrade process by enabling the standby database that is the target of the upgrade to continue receiving primary database redo while the standby database is open in upgrade mode. Rolling upgrade with SQL Apply provides additional disaster protection.

  • Use of physical standby database for rolling upgrades

    A physical standby database can take advantage of the rolling upgrade feature provided by a logical standby. Through the use of the KEEP IDENTITY clause option to the SQL ALTER DATABASE RECOVER TO LOGICAL STANDBY statement, a physical standby database can be temporarily converted into a logical standby database for the rolling upgrade, and then reverted to the original configuration of a primary database and a physical standby database when the upgrade is done.

  • Rolling Upgrade Using Active Data Guard in Oracle Database 12c and later releases

    Oracle Database 12c provides the DBMS_ROLLING PL/SQL package, which enables you to upgrade the database software in a Data Guard configuration in a rolling fashion. Rolling Upgrade Using Active Data Guard uses a Data Guard physical standby database and the SQL Apply process. This is supported for rolling upgrades from Oracle Database release 12.1 onward.

    In Oracle Database 12c release 2 (12.2) and later releases, when you perform a rolling upgrade using the DBMS_ROLLING PL/SQL package, you no longer need to disable the broker. In addition, the broker now reports when a rolling upgrade is in place, and tracks its status. The status information is displayed in the output of the DGMGRL commands SHOW CONFIGURATION and SHOW DATABASE.


Starting with Oracle Database 12c release 1 (12.1) and later releases, Oracle Enterprise Manager Cloud Control provides options to perform a rolling upgrade of databases in a Data Guard configuration. The procedures are described in online help within Cloud Control.

See Also: