Oracle RAC discovery issue
UCMDB 10.11 with CP14.
The discovery job "Oracle RAC Topology by Shell" has recently started failing with the following errors,
<CMD>[CDATA: /u01/app/oragrid/product/188.8.131.52/grid/bin/srvctl status database -d DBNAME ; echo ERROR_CODE:$?],/CMD>
<RESULT>[CDATA: PRCD-1027 : Failed to retreive database DBNAME
PRCD-1229 : An attempt to access the configuration of the database DBNAME was rejected because its version 184.108.40.206.0 differs from the program version 220.127.116.11.0.
Instead run the program from /u01/app/<dir>/product/18.104.22.168/dbhome_1
The communication log contains the following error,
UDA: Internal error. Details: Traceback (most recent call last):
File "oracle_rac_topology_by_shell", line 404, in DiscoveryMain
File "oracle_shell_utils", line 353, in setOracleHomeEnvVar Value
Error: No ORACLE_HOME passed to the UnixOracleEnvConfig class
The DBA tells me this is because the Oracle Grid Infrastructure (GI) is at a higher patchset version than the database i.e. GI is at 22.214.171.124 whereas the database is at 126.96.36.199
Has anyone come across this issue before?, if yes did you resolve it?.
Possible options I can think off are,
1. Wait for the databases to be upgradede to 188.8.131.52, at which point the discovery job should complete successfully again. Not a great option as its likely to take some time to upgrade all the dbs.
2. Amend the "Oracle RAC Topology by Shell" job so it uses the srvctl program from within the respective database homes. Has anyone done this?, how could this be acheived (e.g. via adapter configuration setting or would it require changes to the Jython code?)
3. Use another method to discover Oracle RACs, for instance is it possible to integrate with Oracle GI and obtain RAC information from here?
Any advice greatly appreciated.