5) I get an "unknown error" when trying to apply a patch
An unknown error is basically an unhandled exception for OPatch. This could be caused inseveral different areas of the OPatch code and could be primarily treated as a bug or an existingissue if you are not using the latest versionSome of the common solutions observed for correcting "Unknown error" type errors are asfollows
Check if the patch stage area has appropriate permissions namely "chmod 755 <dir whereunzipped>" and retry
Check the APPLY log and see which stage has caused the exception , normally if this isencountered say in the apply phase of the patch application then check if the "opatchlsinventory" command works or fails in the same manner. Usually from past experiencesthis has been associated with getting an exception from the inventory for which there isno stack trace printed as this is unhandled . Enhancement request has been logged for this-3020660.
Check if skipping the inventory brings you to the first stage namely "Ready to apply the patch?" , if yes then the problem lies with interfacing with the inventory - Search Webivfor known issues and test with the latest version of OPatch.
If there is no additional information in the apply logs please collect the truss output for the opatch command For example on solaris –
"truss -aefdD -o test.out opatch apply" . Note to follow forks must be included inthe options. Also check for section - "what to provide when logging a new OPatchissue"
6) My inventory is in a different location as compared to the normal location and myoraInst.loc is present in $ORACLE_HOME. How do I install the patch under such cases?
OPatch expects the oraInst.loc file in the standard location namely/var/opt/oracle/oraInst.lochowever there are certain systems where this file is present at other locations. This is overriddenusing the inventory API flag invPtrLoc (note the case) Typically used for Oracle installationsinstalled with./runInstaller -invPtrLoc $ORACLE_HOME/oraInst.loc .For such oracle homes OPatch would error out saying"Unable to access inventory" or errors with"Couldn't find required file liboraInstaller”which can be misleading. Under suchcases when applying a patch you need to specify the same flag for OPatch application , for exampleopatch apply -invPtrLoc $ORACLE_HOME/oraInst.loc .From a supportability point of view this flag would be available as long as the Installer supportsand this would also imply the customer has a non-standard installation hence its not encouraged.
7) Unable to get inventory lock exception encountered when applying a patch using OPatchhow should I proceed here ?
This has been difficult to diagnose ,-
Collect the information required to determine the root cause of the problem under thesection "what to collect when filing a new OPatch issue" .-
We are unable to get an inventory lock (which is a lock for the inventory control area for this oracle home) which is required when trying to store this information in the inventory.This is also taken in an attempt to synchronize the binary