Monday, 26 July 2021

Out-of-Place updating the Developer VM Oracle Database to 19.11

I have made a newer version of this post covering 19.12. Though this post is still valid, I made some additional hints to the new one, so better go directly to Out-of-Place updating the Developer VM Oracle Database to 19.12.

---8<-----------------------------------------------------------------------------

In my last post "Enabling Blockchain Tables and SQL Table Macros with 19.10 Patch for the Developer VM Database", I described how to update the Database via OPatch. Now 19.11. does not have that much new features for developers, this post is only to show how to use out-of-place updating alternatively. Find more information on this on Mike Dietrich's Blog, I will only cover what I need to update the Developer VM.

Create a new directory for the new database home, in my case

mkdir /u01/app/oracle/product/19.11.0/dbhome_2

As for the first installation, get the Oracle Database 19c 19.3.0 Base Release and unpack it to that directory. Create a separate directory for the patch like

mkdir /u01/app/oracle/patches/32545013

Get patch #32545013 for the 19.11 RU and unpack it to that directory. That needs at least OPatch 12.2.0.1.24. Get the latest via Patch 6880880 (which is .25 at the time of writing). Rename the OPatch directory to something like OPatch.old, create a new OPatch directory and unzip Patch 6880880 to that.

As we are running OEL 8.x, we need to give the installer a little hint

export CV_ASSUME_DISTID=OEL7.8

Now we can go to the newly created ORACLE_HOME and run the installer. Better unset all variables pointing to the old home.

unset ORABASE_EXEC
unset ORACLE_HOME
unset ORAHOME
cd /u01/app/oracle/product/19.11.0/dbhome_2
./runInstaller -applyRU /u01/app/oracle/patches/32545013/

This will apply the 19.11 RU during the install. If  you need any specific one-off patches, these can be applied using the "-applyOneOffs" option, see Mike Dietrich's Blog. Click through the installer and choose only to install the software without creating a new database.

After the installer has finished, modify /etc/oratab to point to the new ORACLE_HOME

Copy the contents from /u01/app/oracle/product/19.0.0/dbhome_1/dbs to /u01/app/oracle/product/19.11.0/dbhome_2/dbs .
Change the ORACLE_HOME variable in .bashrc to the new home. Start a new terminal and double check the environment variables.
Start the listener and the database. Finally run the data patch.

cd $ORACLE_HOME/OPatch
./datapatch -verbose

Have fun with 19.11.