Friday, November 1, 2013

OPATCH prereq failed with checkConflictAgainstOHWithDetail not executed

Recently I was working on applying a PSU One-Off Patch, before applying patch it is necessary to get conflict resolution with existing patch information.

I was running below command to get one-off patches conflict with the PSU and received error

$ opatch prereq CheckConflictAgainstOHWithDetail -phBaseDir ./9352164

Invoking OPatch 10.2.0.4.2
 

Oracle Interim Patch Installer version 10.2.0.4.2
Copyright (c) 2007, Oracle Corporation. All rights reserved.


PREREQ session


Oracle Home : /home/oracle/product/10.2.0/db_1
Central Inventory : /home/oracle/oraInventory
from : /etc/oraInst.loc
OPatch version : 10.2.0.4.2
OUI version : 10.2.0.4.0
OUI location : /home/oracle/product/10.2.0/db_1/oui
Log file location : /home/oracle/product/10.2.0/db_1/cfgtoollogs/opatch/opatch2013-10-29_15-58-39PM.log
Invoking prereq "checkconflictagainstohwithdetail"
The location "./9352164/README.html" is not a directory or a valid patch zip file.
Prereq "checkConflictAgainstOHWithDetail" not executed
PrereqSession failed: Invalid patch location


OPatch failed with error code 73

You may see below error when you check the log file

INFO:Invoking prereq "checkconflictagainstohwithdetail"
INFO:The location "./9352164/psu_root.sh" is not a directory or a valid patch zip file.
INFO:Prereq "checkConflictAgainstOHWithDetail" not executed
SEVERE:OUI-67073:PrereqSession failed: Invalid patch location.
INFO:Finishing PrereqSession at Tue Oct 29 16:22:07 PDT 2013
INFO:Stack Description: java.lang.RuntimeException: Invalid patch location.
INFO:StackTrace: oracle.opatch.opatchprereq.PQSession.parseBaseDirListFile(PQSession.java:2118)
INFO:StackTrace: oracle.opatch.opatchprereq.PQSession.checkconflictagainstohwithdetail(PQSession.java:1424)
INFO:StackTrace: sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
INFO:StackTrace: sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
INFO:StackTrace: sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
INFO:StackTrace: java.lang.reflect.Method.invoke(Method.java:324)
INFO:StackTrace: oracle.opatch.PrereqSession.process(PrereqSession.java:251)
INFO:StackTrace: oracle.opatch.OPatchSession.main(OPatchSession.java:1937)
INFO:StackTrace: oracle.opatch.OPatch.main(OPatch.java:619)


Solution: You will see this error when you don’t have a latest Opatch version. Go to My Oracle support and download the latest patch.

Irrespective of the Oracle version (9i,10g,11g) you will see this issue when you don’t have latest Opatch version.

Steps to install the newer version of OPATCH
1. Copy the patch into ORACLE_HOME
2. Rename the old “Opatch” directory
$ mv OPatch OPatch_bak
3. Unzip the file patch
4. Check new OPatch version
$ opatch version
You should be able to see new Opatch version.

Refer Metalink Notes:-
Master Note For OPatch (Doc ID 293369.1)
How To Download And Install The Latest OPatch Version [Article ID 274526.1]

Regards,
Satishbabu Gunukula, Oracle ACE
http://www.oracleracexpert.com

2 comments:

  1. Hello SATISHBABU,
    Great post!
    In SAP scene,if you are using the latest MOPatch version for patches, it isn't show up.

    Thanks,
    Denis
    http://denisfg.blogspot.com/

    ReplyDelete
  2. SAP always provide latest MOPatch & OPatch with SBP Bundle and they recommend to use the same. I didn't see this error in SAP Environments, as I am always using latest versions before applying the patch.

    But MOPatch detects weather OPatch version is valid or not.

    Regards,
    Satish

    ReplyDelete