As usual I download the patch bundles and apply them to our Hands-On Lab environment as quickly as possible. First of all for the simple reason that I don’t want to trap into issues which are fixed already. Second for the reason that I always tell you: YOU MUST PATCH! But if I’m saying this over and over again, then I can’t have my own environments unpatched. And at third, because I want to learn if anything is not working correctly or has changed (see below).
Of course my tiny single instance environments are not comparable to your critical production sites. And I don’t have to complete any extra tests. Or include the patch into a Rapid Home Provisioning rollout plan. So for me it’s a fairly simple task whereas for you it usually involves more work.
Patching my databases with the July 2018 PSU, BP and RU
As you can see from my previous blog post, I figured out already which patches I need to download, I learned about the July 2018 Risk Matrix scores, and I checked the READMEs as well.
Then as next step, I will have to verify the prerequisites including OPatch, and afterwards apply the patch bundles. I don’t patch OJVM as I didn’t include it in any of my databases.
For the Oracle 18.104.22.168 PSU I must ensure OPatch utility version 22.214.171.124.6 is installed. In my case it is already. Hence, no action needed here. But for Oracle 126.96.36.199 there’s a change.
Different from previous runs where I simply used the 12.2/18c OPatch as you could see in April 2018 to patch also my Oracle 188.8.131.52 databases, this will fail now since the OPatch 184.108.40.206.14 version.
When you invoke it from a different home, you’ll see the below error pattern.
Thus, you MUST install the version of OPatch into your 220.127.116.11 homes now as well.
$OH18/OPatch/datapatch -verbose ... Queryable inventory could not determine the current opatch status. Execute 'select dbms_sqlpatch.verify_queryable_inventory from dual' and/or check the invocation log /u01/app/oracle/cfgtoollogs/sqlpatch/sqlpatch_16186_2018_07_18_13_07_29/sqlpatch_invocation.log for the complete error. Prereq check failed, exiting without installing any patches. ... SQL> select dbms_sqlpatch.verify_queryable_inventory from dual; VERIFY_QUERYABLE_INVENTORY -------------------------------------------------------------------------------- ORA-20001: Latest xml inventory is not loaded into table
As far as I can see, there reason seem to be the 3 directories OPatch creates in the database (see
DBA_DIRECTORIES). But I didn’t went into details as my shortcut most likely wasn’t meant to work anyways. Hence, I can’t blame anybody 🙂
- Please take a backup of ORACLE_HOME/OPatch into a dedicated backup location.
- Please make sure no directory ORACLE_HOME/OPatch exist.
- Please unzip the OPatch downloaded zip into ORACLE_HOME directory
This is not complicated.
. cdb2 cd $ORACLE_HOME tar -czf opatch_old_del_later.tar OPatch rm -rf OPatch cp /media/sf_TEMP/p6880880_180000_Linux-x86-64.zip . unzip p6880880_180000_Linux-x86-64.zip cd OPatch
Afterwards I verify the version – and this looks good.
[CDB2] oracle@localhost:/u01/app/oracle/product/18/OPatch $ ./opatch version OPatch Version: 18.104.22.168.14 OPatch succeeded.
Good thing: I can use this version also for the 22.214.171.124 patching but I will have to install it this time separately into my 126.96.36.199 home as well.
Patching Oracle 188.8.131.52 with the July 2018 Patch Set Update
As I don’t have an Engineered System unfortunately, I patch my single instance 184.108.40.206 environment with the July PSU.
And as I showed the task in step-by-step instructions already in April, I recorded a short 3 min video this time:
Patching Oracle 220.127.116.11 with the July 2018 Bundle Patch
Please find all the steps in the README. As noted above it is now important to have the OPatch utility installed into the same Oracle Home as otherwise the inventory can’t be queried within the database.
Patching Oracle 18.1.0 with the July 2018 Update
I have applied the 18.2.0 Update already a few weeks ago to my Oracle 18.1.0 environment. But for this exercise I use a standard 18.1.0 environment. For most of you this task won’t be necessary as you’ll start off with Oracle 18.3.0 on premises anyway, and hence don’t have to apply the July 2018 Update (RU).
All the necessary steps are similar to Oracle 18.104.22.168 patching. You can find them in the README.
$ORACLE_HOME/OPatch/opatch version $ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir /media/sf_TEMP/p28090523_180000_Linux-x86-64/28090523 cd /media/sf_TEMP/p28090523_180000_Linux-x86-64/28090523 $ORACLE_HOME/OPatch/opatch apply $ORACLE_HOME/OPatch/datapatch -verbose
But please see the short video below: