Wednesday, February 25, 2009

Some Tips for debugging ORACLE OPATCH issues

 























To see all the components versions

opatch lsinventory --detail

Additional Help
opatch apply –help

To get OPatch Refer Note:293369.1 and Note: 224346.1,  hosted under BUG:6880880

To get more details about errors in logs

export OPATCH_DEBUG=true

For opatch version 1.0.0.0.xx, logs are written into the patch storage area under $ORACLE_HOME/.patch_storage/<bug number>

To get additional logs when the default log wont reveal much use OS tacers like on Solaris:
truss -aefdD -o test.out opatch apply
truss -faeo /tmp/truss.out opatch apply > /tmp/applylog.out

When you apply a one-off the files

<PATCHNUMBER>\etc\config\actions  and  <PATCHNUMBER>\etc\config\inventory

have all the actions it has to do the platform it is supported on

The <Component> version="10.1.2.3.0" opt_req="R"  means the the particular component is required to apply the patch.

This compares the version with the version in the file $ORACLE_HOME/inventory/ContentsXML/comps.xml

Platform id is picked up from the file :
%ORACLE_HOME%\inventory\ContentsXML\oraclehomeproperties.xml

This can be overridden using OPATCH_PLATFORM_ID variable

Simple Java program to check the OS info

public class platform {


 public static void main (String[] args) {
System.out.print("Operating System: ");
System.out.println(System.getProperty("os.name"));
System.out.print("Operating System version: ");
System.out.println(System.getProperty("os.version"));
System.out.print("System Architecture: ");
System.out.println(System.getProperty("os.arch"));
}
}

To use a customized centralized inventory


./runInstaller –invPtrLoc /oracle/oraInst.loc


opatch apply -invPtrLoc /oracle/oraInst.loc


To see if the OPATCH is holding a lock on a particular patch

cd $ORACLE_HOME/.patch_storage  see the file   patch_free
 
OPATCH 11g TIPS
To see Oracle Common components

Go to OPatch in  Middleware home and oracle_common directory


/home/oracle/Oracle/Middleware/oracle_common/OPatch


unset ORACLE_HOME


opatch lsinventory –detail





So, if there is a dependency with your common component files and if you have set the ORACLE_HOME to SOA_HOME, the opatch compares the version to $ORACLE_HOME/inventory/ContentsXML/comps.xml and wont find the library


for Eg:




Optional component(s) missing :

[ oracle.xdk.parser.java,11.1.0.7.0 ] ,


[ oracle.jrf.thirdparty.jee, 11.1.1.1.0 ]


----------------------------------------------------------------------------------------To see the version using the RDA

./rda.sh -vdT inv


Custom Search

Sudoku Puzzles