Make a backup of the spfile for the older version of Oracle.
Follow Oracle documentation to upgrade the VDBs database on the target server.
Re-create the spfile using the new init.ora parameters as recommended by Oracle for the upgrade.
Prior to applying to a VDB, take a snapshot of the VDB just in case something goes wrong and you want to back it out.
Currently, it is not possible to upgrade a database and move it to a pluggable database.
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 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 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.
- Go to the vPDB 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.