mercredi 6 octobre 2010

oracle.sysman.emSDK.emd.comm.NoSuchTargetException: No Such Type en ajoutant une base de données au Grid Control 10.2.0.5

Vous essayez d'ajouter une base de données à l'OEM grid control 10.2.0.5 et vous recevez le message d'erreur:
oracle.sysman.emSDK.emd.comm.NoSuchTargetException: No Such Type

Un coup d'oeil dans le fichier $OMS_HOME/sysman/log/emoms.log montre l'erreur:

2010-10-01 13:19:15,039 [Thread-182] ERROR perf.sitemap initialize.905 - Exception: error while getting target info
2010-10-01 13:19:15,041 [Thread-182] ERROR perf.sitemap initialize.906 - oracle.sysman.emSDK.emd.comm.NoSuchTargetException: No Such Type
oracle.sysman.emSDK.emd.comm.NoSuchTargetException: No Such Type
at sun.reflect.GeneratedConstructorAccessor81.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
at java.lang.reflect.Constructor.newInstance(Constructor.java:274)
at java.lang.Class.newInstance0(Class.java:308)
at java.lang.Class.newInstance(Class.java:261)
at oracle.sysman.emSDK.xml.DelegatingHandler.getObjForTag(DelegatingHandler.java:121)
at oracle.sysman.emSDK.xml.DelegatingHandler.startElement(DelegatingHandler.java:170)
at org.xml.sax.helpers.ParserAdapter.startElement(ParserAdapter.java:597)
at oracle.xml.parser.v2.XMLContentHandler.startElement(XMLContentHandler.java:180)
at oracle.xml.parser.v2.NonValidatingParser.parseElement(NonValidatingParser.java:1227)
at oracle.xml.parser.v2.NonValidatingParser.parseRootElement(NonValidatingParser.java:314)
at oracle.xml.parser.v2.NonValidatingParser.parseDocument(NonValidatingParser.java:281)
at oracle.xml.parser.v2.XMLParser.parse(XMLParser.java:195)
at org.xml.sax.helpers.ParserAdapter.parse(ParserAdapter.java:431)
at oracle.sysman.emSDK.xml.DelegatingHandler.parseObj(DelegatingHandler.java:296)
at oracle.sysman.emSDK.emd.comm.EMDClient.parseStreamResponseContents(EMDClient.java:2883)
at oracle.sysman.emSDK.emd.comm.EMDClient.parseResponseStream(EMDClient.java:2805)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest_(EMDClient.java:2516)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest_(EMDClient.java:2450)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest(EMDClient.java:2367)
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest(EMDClient.java:2352)
at oracle.sysman.emSDK.emd.comm.EMDClient.getTargetMetadata(EMDClient.java:952)
at oracle.sysman.emSDK.emd.comm.EMDClient.getTargetMetadata(EMDClient.java:961)
at oracle.sysman.db.conf.DBConfigListUI.initialize(DBConfigListUI.java:893)
at oracle.sysman.db.conf.DBConfigListUI.doDiscovery(DBConfigListUI.java:417)
at oracle.sysman.db.conf.DBConfigListUI.doDiscovery(DBConfigListUI.java:378)
at oracle.sysman.db.conf.DBConfigController$DiscoveryThread.run(DBConfigController.java:2937)
at java.lang.Thread.run(Thread.java:534)

Un coup d'oeil dans le fichier $AGENT_HOME/sysman/log/emagent.log montre l'erreur:

2010-10-01 13:49:08,731 Thread-1 ORAXML-212, File=file:/uhm004_u01/home/dba/oracle/product/agent10g/sysman/admin/metadata/oracle_database.xml, Line=381, Msg=LPX-00212: comment m
ust not contain "--" (01006)
2010-10-01 13:49:08,731 Thread-1 ORAXML-212, File=./instance.xmlp, Line=9172, Msg=LPX-00212: comment must not contain "--" (01006)
2010-10-01 13:49:08,739 Thread-1 Error parsing /uhm004_u01/home/dba/oracle/product/agent10g/sysman/admin/metadata/oracle_database.xml, this metadata file will be skipped (00508)
2010-10-01 13:49:10,869 Thread-1 [E-Mail POP Server] InstanceProperty (pop_host) is marked OPTIONAL but is being used. Filename /uhm004_u01/home/dba/oracle/product/agent10g/sysm
an/admin/metadata/pop.xml (00506)
2010-10-01 13:49:11,324 Thread-1 [E-Mail SMTP Inbound Server] InstanceProperty (smtp_host) is marked OPTIONAL but is being used. Filename /uhm004_u01/home/dba/oracle/product/age
nt10g/sysman/admin/metadata/smtp_in.xml (00506)
2010-10-01 13:49:11,355 Thread-1 [E-Mail SMTP Outbound Server] InstanceProperty (smtp_host) is marked OPTIONAL but is being used. Filename /uhm004_u01/home/dba/oracle/product/ag
ent10g/sysman/admin/metadata/smtp_out.xml (00506)
2010-10-01 13:49:11,776 Thread-1 ParseError: File=file:/uhm004_u01/home/dba/oracle/product/agent10g/sysman/emd/targets.xml, Line=35, Msg= has invalid target type (01006)
2010-10-01 13:49:12,674 Thread-23 No metadata found or badly formed metadata file (00151)
2010-10-01 13:49:19,922 Thread-1 ParseError: File=file:/uhm004_u01/home/dba/oracle/product/agent10g/sysman/admin/default_collection/oracle_database.xml, Line=6, Msg= TYPE=oracle_database is invalid (01006)

L'erreur précédente (la ligne en gras) montre bien qu'il y a une anomalie dans le fichier $AGENT_HOME/sysman/admin/metadata/instance.xmlp à la ligne 9172 (cette erreur est spécifique à mon cas).
Ce problème a été créé par moi même en appliquant une solution pour régler un autre problème (la syntaxe pour mettre la ligne 9172 en commentaire était erronée).
Après avoir corrigé la syntaxe, plus de problème !

L'objectif de cet article est d'attirer votre attention sur l'importance des fichiers log. En cas de problème, toujours se référer aux logs et faire attention à tout ce qui a été inscrit au moment de l'incident.

Aucun commentaire:

Enregistrer un commentaire