PatchObject constructor:Input file does not exist

renjixinchina發表於2013-08-27

APPLIES TO:

Oracle Universal Installer - Version 10.2.0.3 to 11.1.0.7 [Release 10.2 to 11.1]
Information in this document applies to any platform.
Reviewed for currency Aug-27-2012

SYMPTOMS

Following error is reported while checking for conflict among patches which are to be applied (where one of the patches is a napply patch)

For example, which checking for conflict between two patches Patch 608154 and Patch 5892355

Patch 6081547 and Patch 5892355 are taken here as an example only, to explain the issue and they should not be applied to the Oracle Home unless it was advised by Oracle.

$ opatch prereq CheckConflictAmongPatchesWithDetail -phBaseDir $ORACLE_HOME/patches 

Invoking OPatch 10.2.0.4.6

Oracle Interim Patch Installer version 10.2.0.4.6
Copyright (c) 2009, Oracle Corporation.  All rights reserved.

PREREQ session

Oracle Home       : /opt/oracle/product/10.2.0.3
Central Inventory : /opt/oracle/oraInventory
   from           : /etc/oraInst.loc
OPatch version    : 10.2.0.4.6
OUI version       : 10.2.0.3.0
OUI location      : /opt/oracle/product/10.2.0.3/oui
Log file location : /opt/oracle/product/10.2.0.3/cfgtoollogs/opatch/opatch2009-03-30_17-22-35PM.log

Patch history file: /opt/oracle/product/10.2.0.3/cfgtoollogs/opatch/opatch_history.txt

Invoking prereq "checkconflictamongpatcheswithdetail"
Prereq "checkConflictAmongPatchesWithDetail" not executed
Unable to create Patch Object.
Exception occured : PatchObject constructor: Input file
"/opt/oracle/product/10.2.0.3/patches/6081547/etc/config/actions" or
"/opt/oracle/product/10.2.0.3/patches/6081547/etc/config/inventory" does not exist.
    
OPatch succeeded.


CHANGES

Would like to know whether there is any potential conflict between patches before they are applied.

For example, while checking for conflict between two patches 6081547 (napply patch) and 5892355

When Patch 6081547 was unzipped, four other patch directories are created and 6081547 is not present, even though the fix for concerned bug is included in the napply patch.


$ cd $ORACLE_HOME/patches/6081547 

$ ls -l

drwxr-xr-x 4 oracle oracle 4096 Jun 22 2007 5209867
drwxr-xr-x 4 oracle oracle 4096 Mar 5 16:56 5844945
drwxr-xr-x 4 oracle oracle 4096 Mar 5 16:17 5998544
drwxr-xr-x 4 oracle oracle 4096 Jun 22 2007 6010833

CAUSE

The OPatch option of -phBaseDir option is used to specify the path to base dir where all the patches to be applied are kept. 

The command enterred was

$ opatch prereq CheckConflictAmongPatchesWithDetail -phBaseDir $ORACLE_HOME/patches

 OPatch will look in $ORACLE_HOME/patches for the following directory structure:

$ORACLE_HOME/patches/6081547/etc/config

Since unzipping the patch creates multiple directories, that directory structure does not exist and -phBaseDir must be the directory that is created when the patch is unzipped. 

-phBaseDir $ORACLE_HOME/patches/6081547

SOLUTION

Execute OPatch pointing -phBaseDir to the directory created when patch is unzipped

$ opatch prereq CheckConflictAmongPatchesWithDetail -phBaseDir $ORACLE_HOME/patches/6081547

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/15747463/viewspace-769385/,如需轉載,請註明出處,否則將追究法律責任。

相關文章