oracle emgrid 的agent 软件安装在各个linux 服务器上,用于监控oracle 数据库和rac 系统。我安装的agent 版本是10.2.0.5 。
这个版本安装决定导致了我最后遇到一个大问题,后面会介绍到。
在使用浏览器登录oms 服务端时,主机那个项都是正常访问的,可以显示主机的相关信息,如内存,IO 等。
但访问到数据库目标时,输入sys 连接,则出错了。
检查日志文件D:\OracleEMGridControl\oms10g\sysman\log\emoms.log ,报错如下:
2010-05-24 14:06:09,531 [Thread-27] ERROR em.jobs remoteOp.2114 - DBVerify.remoteOp(): CommException: 出现内部错误
2010-05-24 14:06:09,531 [Thread-27] ERROR db.rac populateStatusPage.772 - RacState.populateStatusPage: result from version retrieva l had errors.
2010-05-24 14:06:11,593 [EMUI_14_06_11_/console/rac/racState] ERROR db.rac onEndProcess.1069 - RacStateController.onEndProcess: hasErr = true, errType = 6, errMsg= 出现内部错误
2010-05-24 14:06:58,312 [MetricCollector:RACHOMETAB_THREAD600:60] ERROR rt.RacMetricCollectorTarget _getAllData.184 - oracle.sysman.emSDK.emd.comm.CommException: Connection timed out: connect
oracle.sysman.emSDK.emd.comm.CommException: Connection timed out: connect
at oracle.sysman.emSDK.emd.comm.EMDClient.getResponseForRequest(EMDClient.java:1541)
at oracle.sysman.emSDK.emd.comm.EMDClient.getMetrics(EMDClient.java:913)
at oracle.sysman.emo.rac.perform.metric.rt.RacHomeTab._getAllData(RacHomeTab.java:180)
at oracle.sysman.emo.rac.perform.metric.rt.RacHomeTab.getData(RacHomeTab.java:91)
at oracle.sysman.emo.perf.metric.eng.MetricCached.collectCachedData(MetricCached.java:404)
at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread._collectCachedData(MetricCollectorThread.java:596)
at oracle.sysman.emo.perf.metric.eng.MetricCollectorThread.run(MetricCollectorThread.java:320)
at java.lang.Thread.run(Thread.java:534)
分析和解决过程
第一步,在agent 服务器上分析agent 是否能将监控信息上传到OMS 服务器上
/u01/oracle/home@webdg1=>servdb1$emctl upload
Oracle Enterprise Manager 10g Release 5 Grid Control 10.2.0.5.0.
Copyright (c) 1996, 2009 Oracle Corporation. All rights reserved.
---------------------------------------------------------------
EMD upload completed successfully
/u01/oracle/home@webdg1=>servdb1$
如果这一步不成功,就要找agent 的问题,或者网络的问题。
第二步,检查OMS 端的状态
D:\OracleEMGridControl\oms10g\opmn\bin>opmnctl status
Processes in Instance: EnterpriseManager0.gridctrl01.htsc.com
-------------------+--------------------+---------+---------
ias-component | process-type | pid | status
-------------------+--------------------+---------+---------
DSA | DSA | N/A | Down
LogLoader | logloaderd | N/A | Down
dcm-daemon | dcm-daemon | N/A | Down
OC4J | home | 4576 | Alive
OC4J | OC4J_EMPROV | 4536 | Alive
OC4J | OC4J_EM | 5344 | Alive
HTTP_Server | HTTP_Server | 6080 | Alive
WebCache | WebCache | 3088 | Alive
WebCache | WebCacheAdmin | 2280 | Alive
显示都是正常的
修改了OMS 服务器的所在/etc/hosts 文件,将所有监控的agent 服务器的ip 主机名称信息都加入进去。
这里监控的服务器是两台数据库服务器,组成的是一个RAC 集群。因此,需要将VIP 信息一起加进去。
192.168.15.215 webdg1.htsc.com webdg1
192.168.15.217 webdg2.htsc.com webdg2
192.168.15.216 webdg1-vip.htsc.com webdg1-vip
192.168.15.218 webdg2-vip.htsc.com webdg2-vip
再配置时,报错成这样了。
oracle.sysman.emSDK.emd.comm.CommException: SAXParseException in