Migrating a vPDB (from a linked CDB) to a higher Oracle version (linked CDB)
Given a vPDB in a linked CDB (CDBold for hereon) the following steps can be used to migrate it to a higher Oracle version linked CDB (CDBnew from hereon):
It might be necessary to run pre-upgrade Oracle scripts before doing the upgrade, consult Oracle documentation.
Disable the vPDB, using the GUI or the CLI.
Using the CLI perform manual migration. If the CDBnew is in the same host as the CDBold, then only cdbConfig needs to be specified, otherwise the repository and the environmentUser also need to be specified:
CODE> cd /sourceconfig sourceconfig> select vpdb sourceconfig 'vpdb'> update sourceconfig 'vpdb' update *> set cdbConfig=CDBnew sourceconfig 'vpdb' update *> set environmentUser=<new oracle user>’ sourceconfig 'vpdb' update *> set repository='' sourceconfig 'vpdb' update *> commit
After enabling the vPDB without starting, the environment of the linked CDB should not be refreshed until the vPDB has been created and upgraded.
Enable the vPDB without starting it:
CODE> cd /source source> select vpdb source 'vpdb'> enable source 'vpdb' enable *> set attemptStart=false source 'vpdb' enable *> commit
Add the vPDB to CDBnew using sqlplus, which has two options:
The vPDB can be plugged as a clone (to get a new DBID/GUID):
CODESQL> create pluggable database vpdb as clone using'/mnt/provision/vpdb-CDOMLOSRA92E/datafile/delphix_group_writable/VPDB.xml' nocopy tempfile reuse;
The vPDB can be plugged without the clone option (to retain the same DBID/GUID):
CODESQL> create pluggable database vpdb using'/mnt/provision/vpdb-CDOMLOSRA92E/datafile/delphix_group_writable/VPDB.xml' nocopy tempfile reuse;
Open the vPDB in upgrade mode:
CODESQL> alter pluggable database vpdb open upgrade;
Upgrade the vPDB following the procedures documented by Oracle.
Take a new snapshot with the new version upgraded and delete the previous snapshot containing the previous version metadata.
All Delphix operations on the upgraded vPDB are possible, which include:
Start
Stop
Enable
Disable
Taking a snapshot
Rewind (to an upgraded snapshot)
Refresh (requires additional steps)
Disable the vPDB
Using the CLI to migrate the vPDB back to CDBold:
CODE> cd /sourceconfig sourceconfig> select vpdb sourceconfig 'vpdb'> update sourceconfig 'vpdb' update *> set cdbConfig=CDBold sourceconfig 'vpdb' update *> set environmentUser=<old oracleuser>’ sourceconfig 'vpdb' update *> set repository='' sourceconfig 'vpdb' update *> commit
Refresh the vPDB
Repeat the procedure for migration as described before