Upgrading a VDB involves Oracle level activity and Delphix GUI/CLI level activity. The Oracle activity, to be performed first, involves upgrading/patching current oracle homes, installing new oracle homes, and managing init.ora/spfile.ora files. The Delphix GUI/CLI activity, to be performed second, involves rediscovering new oracle installations, giving a VDB a new oracle home, and updating the oracle grid home. These are discussed in detail below.
Currently, it is not possible to convert an existing VDB into a vPDB.
PSU/Oracle Upgrade Procedure
Normally a PSU or Oracle upgrade will have both binary changes and some scripts to run on the database side as well.
There are 3 ways to apply a PSU/Oracle upgrade:
A) Apply to existing ORACLE_HOME. You must be on Delphix version 4.1.x or higher to do this.
B) Create a new ORACLE_HOME (could clone the existing one) and then apply the PSU to the new ORACLE_HOME
C) After a dSource is upgraded, use refresh on the Timeflow tab to upgrade the VDB
Follow Oracle documentation and run the appropriate script(s) and/or steps on the databases using those ORACLE_HOMEs. In option B, stop the instance using the old ORACLE_HOME, then restart the instance with the new ORACLE_HOME from the command line as normal.
Applying to an existing ORACLE_HOME
- Following Oracle documentation, patch the ORACLE_HOME, then the database for the VDB(s).
- Refresh the environment the VDBs are on in the Delphix Management application.
Creating a new ORACLE_HOME
- Refresh the environment from the Delphix Management application. Verify that the new ORACLE_HOME is picked up and displayed in the Databases tab as an ORACLE Installation.
- Stop the VDB instance (old ORACLE_HOME) using Oracle tools. Do not use the Delphix VDB stop operation as the VDB should be stopped outside of Delphix.
- Export ORACLE_HOME=(newORACLE_HOME). Follow Oracle documentation to patch the database.
- Copy the init.ora for that VDB in this new $ORACLE_HOME/dbs directory. The delphix_os user will need the write permissions to this directory.
- If there are any database parameter changes, update the spfile located on the Delphix mount base with those values.
- Navigate to the Datasets view
- Expand the group(s) containing all non-multitenant and multitenant VDBs.
- Click the Configuration tab.
- From the Actions menu (...) select Upgrade to switch the ORACLE_INSTALLATION to the new one.
- If the database is a linked CDB or vCDB, go to any child vPDBs and verify that the Repository and/or Version has been updated under the configuration tab.
- Refresh the environment from the Delphix Management application.
- Verify that the new ORACLE_HOME is picked up and displayed in the Databases tab of the Environments screen as an ORACLE Installation.
- On the VDB Configuration tab, click the stop icon to stop the VDB.
- From the Actions menu (...) select upgrade to switch the ORACLE_INSTALLATION to the new upgrade version same as the dSource.
- Navigate to the Datasets view, select the VDB, and then select the Timeflow tab.
- Click the Refresh button.
- Select a new snapshot from the dSource that was taken after the dSource was upgraded. (The database version is on the snapshot card.)
Updating the Oracle User after an Upgrade
There may be cases when you upgrade the Oracle home and the Oracle User (who owns the binary) is a different user than the previous Oracle User. You will then need to update the Oracle User for each environment, and then re-connect each VDB to the upgraded Oracle home using the new Oracle User.
The new Oracle User must be in the same OS group (for example, dba or oinstall) as the previous one.
- Login to the Delphix Management application using delphix_admin credentials.
- Click Manage.
- Select Environments.
- Select the environment where you want to add the user.
- Next to Environment Users, click the Pencil icon to add the new user.
- Set the new user as the default user.
- Follow the procedure to upgrade VDBs described in this topic.
Linked CDB Upgrade Procedure
For vPDBs in the linked CDBs, there are two ways to upgrade the linked CDB:
A) Perform the Oracle upgrade of the current target CDB.
B) Create an entirely new target CDB of the higher version.
Performing the Oracle Upgrade of the Current Target CDB
- Perform the Oracle upgrade of the current target CDB.
- Login to the Delphix Management application.
- Navigate to Manage > Datasets and select the target CDB.
- From the Actions menu (...), select Upgrade to switch the ORACLE_INSTALLATION to the new one.
- Click Upgrade.
- Under the Configuration tab, verify that the Repository and/or Version has been updated.
Creating a New Target CDB
You can first disable the vPDB, then use the migrate vPDB feature to select a new container database.
- Login to the Delphix Management application.
- Navigate to Manage > Datasets.
- Select the vPDB you want to migrate.
- From the Actions menu (...) select Disable.
- Click Disable to confirm.
- From the Actions menu (...) select Migrate.
- Select the new container database for the vPDB, the user for that environment, and the database installation where the container database of the vPDB will reside.
- Click the Migrate option to confirm your selections.
- Manually copy the exported keys to the target host's toolkit directory.
- From the Actions menu (...) select Enable.
- Click Enable to confirm.
Your vPDB will re-start in the new environment, and you can continue to work with it as you would any other vPDB.