Friday, June 21, 2013

Do You Really Need oraclehomeproperties.xml file ??!!

Recently, when we were trying to apply a SPU Apr2013 patch to our Oracle Cluster Database, albeit thru OEM Deployment Procedure, during analyze step we hit the following error. The error was indicating that oraclehomeproperties.xml file was missing from the 2, out of 3 hosts missing. while digging further we figured out following..

Info about oraclehomeproperties.xml File --

    This file contains the details about the node list, the local node name, and the CRS flag for the Oracle Home.
    In a shared Oracle Home, the local node information is not present.
    This file also contains the following information:
    GUID — Unique global ID for the Oracle Home
    ARU ID — Unique platform ID. The patching and patchset application depends on this ID.
    ARU ID DESCRIPTION — Platform description

NOTE : The information in oraclehomeproperties.xml overrides the information in inventory.xml. This file is located under $ORACLE_HOME/inventory/ContentsXML

Other folders
Folder Name    Description
Scripts     Contains the scripts used for the cloning operation
ContentsXML     Contains the details of the components and libraries installed
Templates     Contains the template files used for cloning.
oneoffs     Contains the details of the one-off patches applied

I did check the other cluster to check the existance and the contents for the same file and found that all nodes in cluster DB home has this file and each one contains different GUID. hmmm.. So somehow the cluster I intend to patch doesn't contain this file. I spend lots of time on MOS to figure out how to recreate this one and couldn't find much info.

Suddenly, thought came across the mind and I decided to copy the file from one node to other remaining two nodes of the cluster and tried to apply the patch and would you believe it. My analyze step completed successfully.

So the lesson learned here is that oraclehomeproperties.xml file contains the info about GUID and ARU ID which informs patching process about platform and ID of the node.