客户的OEM出现故障,打开登录页面显示如下:
查看数据库状态与服务都是正常的。
解决问题最好的办法当然是查看后台日志报了什么错,EM的日志在什么地方呢?其实很明显:
[Oracle@dm01db01 trace]$ emctl status dbconsole
Oracle Enterprise Manager 11g Database Control Release 11.2.0.4.0
Copyright (c) 1996, 2013 Oracle Corporation. All rights reserved.
https://xxx:1158/em/console/aboutApplication
Oracle Enterprise Manager 11g is running.
------------------------------------------------------------------
Logs are generated in directory /u01/app/oracle/product/11.2.0.4/dbhome_1/dm01db01_tequdb/sysman/log
启动、查看em状态的时候,最后一行都会限制OEM日志的位置,切换到日志目录,例如:
total 98016
-rw-r----- 1 oracle oinstall 3578020 Feb 9 21:07 emagentfetchlet.log
-rw-r----- 1 oracle oinstall 3578020 Feb 9 21:07 emagentfetchlet.trc
-rw-r----- 1 oracle oinstall 16736 Feb 9 21:06 emagent.log
-rw-r----- 1 oracle oinstall 426000 Feb 9 21:10 emagent_perl.trc
-rw-r----- 1 oracle oinstall 1247726 Feb 9 21:14 emagent.trc
-rw-r----- 1 oracle oinstall 4194367 Feb 8 21:01 emagent.trc.1
-rw-r----- 1 oracle oinstall 1302 Feb 7 17:14 emctl.msg
-rw-r----- 1 oracle oinstall 544351 Feb 9 21:35 emdb.nohup
-rw-r----- 1 oracle oinstall 0 Jul 29 2014 emdctl.log
-rw-r----- 1 oracle oinstall 14412 Feb 9 21:02 emdctl.trc
-rw-r----- 1 oracle oinstall 15773411 Feb 9 21:11 emoms.log
-rw-r----- 1 oracle oinstall 20001650 Feb 9 16:44 emoms.log.1
-rw-r----- 1 oracle oinstall 720617 Feb 9 21:11 emoms.trc
-rw-r----- 1 oracle oinstall 5000504 Feb 9 20:51 emoms.trc.1
-rw-r----- 1 oracle oinstall 5003162 Feb 9 09:14 emoms.trc.10
-rw-r----- 1 oracle oinstall 5001267 Feb 9 19:31 emoms.trc.2
-rw-r----- 1 oracle oinstall 5003639 Feb 9 18:09 emoms.trc.3
-rw-r----- 1 oracle oinstall 5000450 Feb 9 16:45 emoms.trc.4
-rw-r----- 1 oracle oinstall 5000447 Feb 9 15:38 emoms.trc.5
-rw-r----- 1 oracle oinstall 5002270 Feb 9 14:32 emoms.trc.6
-rw-r----- 1 oracle oinstall 5002974 Feb 9 13:12 emoms.trc.7
-rw-r----- 1 oracle oinstall 5000153 Feb 9 11:53 emoms.trc.8
-rw-r----- 1 oracle oinstall 5000000 Feb 9 10:34 emoms.trc.9
-rw-r----- 1 oracle oinstall 0 Jul 29 2014 nfsPatchPlug.log
drwxr----- 2 oracle oinstall 4096 Jul 29 2014 pafLogs/
-rw-r----- 1 oracle oinstall 0 Jul 29 2014 patchAgtStPlugin.log
-rw-r----- 1 oracle oinstall 10591 Jul 29 2014 secure.log
其中emoms.log记录了OEM大部分的日志,查看该日志发现如下报错:
......
2015-02-09 20:29:14,242 [HTTPThreadGroup-10] WARN jdbc.ConnectionCache _getConnection.353 - Got a fatal exeption when getting a connection; Error code = 17002; Cleaning up cache and retrying
2015-02-09 20:29:14,242 [HTTPThreadGroup-10] ERROR conn.ConnectionService verifyRepositoryEx.891 - Invalid Connection Pool. ERROR = Io exception: Unknown host specified
2015-02-09 20:29:14,243 [HTTPThreadGroup-10] WARN jdbc.ConnectionCache _getConnection.352 - Io exception: Unknown host specified
java.sql.SQLException: Io exception: Unknown host specified
......
报错非常的明显,host不能被解析,这里的host指的应该是scan-name,尝试ping <scan-name>和nslookup <scan-name>都失败,后来得知是客户的DNS服务器出现故障,于是将scan-name对应的其中一个IP临时的加到/etc/hosts文件中,重启oem即恢复正常。
另外有关OEM的配置文件存放在$ORACLE_HOME/sysman/config目录下。