Opatch. A tool nobody really loves but everybody has to use (at least those of you who patch or aren’t in our cloud deployment). Opatch gets distributed via MOS. And you often can apply patches with an older version of OPatch. So why should you use the most recent version of OPatch?
Why should you use the most recent version of OPatch?
First of all, you have a base installation of Opatch in your
[CDB2] oracle@localhost:/u01/app/oracle/product/188.8.131.52 $ ls OPatch auto jlib opatchauto.cmd operr.bat scripts config jre opatch.bat operr_readme.txt version.txt datapatch modules opatch_env.sh oplan datapatch.bat ocm opatch.pl oracle_common docs opatch opatchprereqs plugins emdpatch.pl opatchauto operr README.txt
In our OCI-Classic cloud environment I have currently this version installed:
[oracle@MIKE18C OPatch]$ opatch version OPatch Version: 184.108.40.206.13 OPatch succeeded.
You can – and should – download the most recent version of OPatch before installing new patches. Do this with MOS Note: 274526.1 – How To Download And Install The Latest OPatch(6880880) Version or directly via this link:
But there’s a long list of choices – which one should you take:
Don’t feel puzzled by all the choices – and don’t download the one named “Oracle Database 220.127.116.11.0” even though this may sound obvious at first sight. For any Oracle 12c or 18c database take this one:
Or this one:
because they both are the same. And it doesn’t matter which one you install (at least as far as I could verify it). This version deals with patches for Oracle Database 18.104.22.168 as well as Oracle 22.214.171.124 and Oracle 18c.
But why do you need the most recent one
Well, nobody is perfect. And there’s a not-so-nice (non-public)
Bug 27843654 : OPATCHAUTO DOES NOT REPORT CONFLICTS WHILE OPATCH DOES.
opatchauto apply -analyze fails to report conflicts with respect to DB, ACFS & OCW RU, whereas
$ORACLE_HOME/OPatch/opatch prereq CheckConflictAgainstOHWithDetail -ph ./ does.
Therefore, you need the most recent version of OPatch in case you’d like to use the
opatchauto functionality to avoid a pitfall saying “no conflicts” where actually there may be conflicts.
This is fixed in Opatch version 126.96.36.199.13 onwards.
P.S. Adding a short message following a discussion I’ve had the past days on Twitter with somebody being quite frustrated with the patching experience: I’m neither the Product Manager for Patching nor am I responsible or tied in into the patching organization at Oracle. But I have a good relationship to the people working hard on patching. I forward feedback, sometimes I even log bugs – but PLEASE, if you have issues with patching, find strange things, open SRs. That is your way of communicating “Something is not working as expected.”