Why should you use the most recent version of OPatch?

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_HOMEs:

[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:

Why should you use the most recent version of OPatch?

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:

Why should you use the most recent version of OPatch?

Or this one:

Why should you use the most recent version of OPatch?

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.

Leave a Reply

Your email address will not be published. Required fields are marked *