Problem:
When attempting to apply an Oracle CPU (Cumulative Patch Update) to the eHealth Oracle 11g DB, it fails with errors such as;
Details = PatchObject constructor: Input file "/opt/nms/tmpehealth632/UPDATE_DIR/OPatch/etc/config/actions" or "/opt/nms/tmpehealth632/UPDATE_DIR/OPatch/etc/config/inventory" does not exist.
OPatch failed: PatchObject constructor: Input file "/opt/nms/tmpehealth632/UPDATE_DIR/OPatch/etc/config/actions" or "/opt/nms/tmpehealth632/UPDATE_DIR/OPatch/etc/config/inventory" does not exist.
Environment:
eHealth 6.3.2.x
Oracle 11g
Cause:
The issue is that after unzipping the patch into a temporary directory (referred to below as $UPDATE_DIR), you need to run the opatch program out of the actual patch number sub-directory so that it can see the actual patch files.
Resolution:
cd $UPDATE_DIR/<patch#>
set ORACLE_HOME=%NH_ORACLE_HOME_OS%
../OPatch/opatch apply -silent -ocmrf $UPDATE_DIR/OPatch/ocm.rsp
For example, if installing the Q1 2016 patch (ORA_LINUX_11204_Q1_2016) - then the directory would be /opt/nms/tmpehealth632/UPDATE_DIR/21948347
So (under Linux/Solaris) the process would be;
Then,cd $UPDATE_DIR/21948347export ORACLE_HOME=$NH_ORACLE_HOME_OS
../OPatch/opatch apply -silent -ocmrf $UPDATE_DIR/OPatch/ocm.rsp
Additional Information:
For Windows based systems, change;