Thursday, September 12, 2019

Unable to create Patch Object Exception occured : PatchObject constructor: Input file does not exist.

Unable to create Patch Object Exception occured : PatchObject constructor: Input file does not exist.



Version:
Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production

Issue:
Error found on invoking patch conflict check using opatch for a PSU patch on database Home.

Error:
Invoking prereq "checkconflictagainstohwithdetail"
Prereq "checkConflictAgainstOHWithDetail"not executed
Unable to create Patch Object.
Exception occured : PatchObject constructor: Input file "/u01/stage/etc/config/actions" or "/u01/stage/etc/config/inventory" does not exist.

OPatch succeeded.

Reason:

Error is due to the location (directory) given for the Patch folder given using -ph.

I used the command, "opatch prereq CheckConflictAgainstOHWithDetail -ph ./". Since I gave -ph . the command should have been executed from the directory where the patch was extracted.

In this case the patch folder after extraction was /u01/stage/14275605.

But I invoked the patch conflict check from /u01/stage and specified -ph ./ where it will look for patch files in the current directory and resulted in the error.

Fix:

Move to the folder created after extracting the patch zip file and execute the command again from there.

[oracle@node1 stage]$ cd  /u01/stage/14275605
[oracle@node1 14275605]$ opatch prereq CheckConflictAgainstOHWithDetail -ph ./

or specify the full directory to -ph command from current directory

opatch prereq CheckConflictAgainstOHWithDetail -ph /u01/stage/14275605

2 comments: