Wednesday, October 7, 2009

Metric Collection Error in Grid Control




Target Name=prod.world
Target type=Database Instance
Host=unixhost1
Occurred At=Aug 27, 2009 10:49:40 PM EDT
Message=Metric evaluation error start - Target is in broken state.
Reason - Get dynamic property error,Dynamic Category property error
Severity=Metric Error Start
Acknowledged=No
Notification Rule Name=Database Availability and Critical States
Notification Rule Owner=SYSMAN






If you have OEM Grid Control (OEM-GC) configured on your environment, then the above is sometimes a routine alert page for a database which is a 9.2.0.6.0 being monitored by an OMS of version 10.2.0.5.0. The status for such a database in the Database sub-tab of the Targets tab on OEM-GC shows up some thing like below. The details like database name, server name etc have been shaded out for obvious reasons.
Click on the screen shot for an enlarged view of the picture.




Select the database and hit the configure button on top of the page to configure its settings to change the monitoring account from dbsnmp to the sysdba account. The below screenshots show a step by step procedure.




Change the role to SYSDBA to blank out the Monitor USername and enter 'sys' as the username its password.








Now click the Test Connection to check if the password is accepted and the connection was successful to the database. If not, check if the credentials are correct.





Click Next on top of the page and select "Skip these steps" and click Next for a review and submit it for all the changes to take effect.











The final screen shows the result of successful configuration, click OK to be routed back to the Database Target.




The above solution also fixes the issue of a 9.2.0.6.0 target database core dumping when being associated with an OMS of 10.2.0.5.0

3 comments:

Anonymous said...

Thanks for your update..!!

It also work for me with 10.2.x database and Grid 10.2.0.1 release.

Florian Wittmann said...

I think it's just that your DBSNMP user is leaking privilegs, check if he has access to below:

GRANT ANALYZE ANY TO "DBSNMP";
GRANT CREATE PROCEDURE TO "DBSNMP";
GRANT CREATE SEQUENCE TO "DBSNMP";
GRANT CREATE TABLE TO "DBSNMP";
GRANT CREATE TYPE TO "DBSNMP";
GRANT SELECT ANY DICTIONARY TO "DBSNMP";
GRANT UNLIMITED TABLESPACE TO "DBSNMP";
GRANT "CONNECT" TO "DBSNMP";
GRANT "OEM_MONITOR" TO "DBSNMP";

OracleUnix said...

Florian, thanks for the suggestion but i no longer have access to that environment to check the above listed grants