A Upgrade and Downgrade Considerations for Data Guard for Container Databases

Use these topics to upgrade or downgrade Oracle databases and Oracle Enterprise Manager Cloud Control (Cloud Control) in a broker configuration.

Considerations While Using the DBMS_ROLLING Package

When upgrading from Oracle Database Version 19c to a higher database version, broker management can remain enabled. However, some considerations must be kept in mind.

The considerations are as follows:

  • The broker configuration files must be in a release-neutral location and accessible throughout the upgrade process.

  • Make a copy of the current broker configuration files, as indicated by the following initialization parameters: DG_BROKER_CONFIG_FILE1 and DG_BROKER_CONFIG_FILE2.
  • After upgrading the leading group members, ensure broker communication between the leading group and the trailing group is successful before proceeding with the upgrade process.

    Communication may be disrupted if network files are either not moved to the upgraded ORACLE_HOME or need to be edited appropriately. In such cases, shut down the upgraded databases (transient logical standby and any other Leading Group Standby databases), stop the listener, copy the listener.ora and tnsnames.ora or fix them as appropriate, restart the listener, and restart the databases.

  • Before you run the DBMS_ROLLING procedure, the physical standby databases must have been operating in Active Data Guard mode.

    If the physical standby databases were operating only in the mounted mode, and the primary database is a multitenant database, you must open the primary database including all its PDBs, and the temp file configuration must be confirmed before you run procedures in the DBMS_ROLLING package. This ensures that the necessary temp files are created and available during the upgrade process.

Note:

The observer that was started prior to the upgrade will automatically be stopped and unable to observe the configuration once the upgrade is complete. You must use an Oracle Database 19c, Oracle Database 21c, or Oracle Database 23ai version of the Oracle Observer software to observe Oracle databases running on Oracle Database 23ai. Oracle recommends using an Oracle Database 23ai version of the Oracle Observer software with an Oracle 23ai release database.

Upgrading from Oracle Database Version 21.7 Release

When upgrading from Oracle Database Version 21.7, the following considerations must be addressed if Data Guard for Pluggable Database was configured on this database:

The considerations are as follows:
  1. Both databases that contain the primary and physical standby pluggable databases must be upgraded to be able to use Data Guard for Pluggable Database in the newer release.
  2. To prepare for the upgrade:
    1. Close all pluggable databases that are in the source role and then, switch a couple of logs.
    2. Ensure managed recovery at the target container has caught up and all the changes have been applied at the target pluggable databases.
    3. Turn off managed recovery for each physical standby pluggable databases by setting their apply state to OFF (EDIT PLUGGABLE DATABASE <pdb-name> SET STATE=APPLY-OFF).
    4. Finally, stop redo transport between the two container databases (EDIT DATABASE <db-unique-name> SET STATE=TRANSPORT-OFF).
  3. Upgrade the database software using the Oracle Database installation documentation that is appropriate for your operating system and release.
  4. After all instances of both databases are started in the newer release:
    1. Start redo transport between the two container databases (EDIT DATABASE <db-unique-name> SET STATE=TRANSPORT-ON).
    2. Set each of the standby pluggable databases to the APPLY-ON state (EDIT PLUGGABLE DATABASE <pdb-name> SET STATE-APPLY-ON).

Downgrading from Oracle Database 23ai

If you have upgraded to Oracle Database 23ai Release and want to downgrade to your prior release 21.7 or higher, you must follow the same steps starting at step 3 as above (Downgrading for Data Guard for Container Database). Then do the following:

  1. Both databases that contain the primary and physical standby pluggable databases must be downgraded to be able to configure Data Guard for Pluggable Database in the prior release.
  2. To prepare for the downgrade:
    • Close all pluggable databases that are in the source role and then, switch a couple of logs.
    • Ensure recovery at the target container has caught up and all the changes have been applied at the target pluggable databases.
    • Turn off managed recovery for each physical standby pluggable databases by setting their apply state to OFF (EDIT PLUGGABLE DATABASE <pdb-name> SET STATE=APPLY-OFF).
    • Finally, stop redo transport between the two container databases (EDIT DATABASE <db-unique-name> SET STATE=TRANSPORT-OFF).
  3. Downgrade the Oracle Database software to the prior Oracle release. See the Oracle Database documentation that is appropriate for your operating system.
  4. After the databases are started in the prior release:
    • Start redo transport between the two container databases (EDIT DATABASE <db-unique-name> SET STATE=TRANSPORT-ON).
    • Set each of the standby pluggable databases to the APPLY-ON state (EDIT PLUGGABLE DATABASE <pdb-name> SET STATE-APPLY-ON).
    However, if you want to downgrade to Oracle Database Versions prior to 21.7 when Data Guard for Pluggable Database has been configured in 23ai, you must first remove the Data Guard for Pluggable Database setup. This is because releases prior to Oracle Database Versions 21.7 do not support this feature. The steps to follow to downgrade in this case are:
    1. Remove all pluggable databases that are in the physical standby role at both the databases.
    2. Remove the remote configurations from both databases/configurations.
    3. Downgrade the Oracle Database software to the prior Oracle release. See the Oracle Database documentation that is appropriate for your operating system.

    Note that in this case, you will no longer have any Data Guard protection, either at the Pluggable Database level, or at the Container level. Although Data Guard at the Pluggable Database level is not available in these earlier releases, Data Guard protection is still possible at the container level.