Monday, December 29, 2008

Patching issue in Grid Control and the FIX

Oracle Support recently advised us to apply a number of patches to our Grid Control 
installation, as per a Metalink Note 427577.1 (OMS Patches required for setting up 
Provisioning and Patching in 10.2.0.3 GC / 10.2.0.4 GC).  The main purpose was to 
improve the Provisioning and Patching facilities in Grid Control.

However, we had an issue with applying one particular patch 7214697 from this list. 
This was giving an error towards the end in the opatch apply. The error occurred 
when PARdeploying prereqs.par :

C:\OracleHomes\oms10g\bin\PARDeploy -action deploy -parFile 
C:\OracleHomes\oms10g\sysman\prov\paf\prereqs.par

0 [main] DEBUG oracle.sysman.eml.swlib.DBEntity - SWLIB getRepositoryFormatForRevision
...
...
78 [main] DEBUG oracle.sysman.eml.swlib.DBEntity - SWLIB getDocuments
78 [main] DEBUG oracle.sysman.eml.swlib.DBEntity - SWLIB getRepositoryFormatForParameters
125 [main] DEBUG oracle.sysman.eml.swlib.DBEntity - SWLIB error=An entity with
the specified name already exists

Even though there was an error during the patch application, this patch showed up in the 
"opatch lsinventory". But then, when Grid Control was started, we were not even 
able to enter the patching screen.  As soon as we went to the "Deployments" tab 
and clicked on "Patching through Deployment Procedures", we got :

"Internal Error has occured. Check the log file for details."

We got exactly the same error when we clicked on "Deployment Procedures",
"Patch Procedures" etc.

The patch, even when rollbacked, failed with exactly the same error.
It disappeared from the inventory, but the internal error was still present
in the patching screens in Grid Control.

Finally, the fix to this issue turned out to be a very simple one:

cd %OMS_ORACLE_HOME%\patches\p7214697_10204_GENERIC\7214697\custom\scripts 

Edit post.bat and change the line: 

%ORACLE_HOME%\bin\PARDeploy -action deploy -parFile %ORACLE_HOME%\sysman\prov\paf\prereqs.par 
to 
%ORACLE_HOME%\bin\PARDeploy -action -force deploy -parFile %ORACLE_HOME%\sysman\prov\paf\prereqs.par
 
This prevents the error when applying the patch, by forcing the PARDeploy of prereqs.par. 
After the patch is successfully applied without any errors, the Grid Control patch deployment procedures work ok.

By the way this seems to be a Windows Grid Control issue. 

No comments:

Disclaimer

Opinions expressed in this blog are entirely the opinions of the writers of this blog, and do not reflect the position of Oracle corporation. No responsiblity will be taken for any resulting effects if any of the instructions or notes in the blog are followed. It is at the reader's own risk and liability.

Blog Archive