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 $ORACLE_HOME
s:
[CDB2] oracle@localhost:/u01/app/oracle/product/12.2.0.1 $ 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: 12.2.0.1.13 OPatch succeeded.
Download OPatch
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 12.2.0.1.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 12.1.0.2 as well as Oracle 12.2.0.1 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 12.2.0.1.13 onwards.