Oracle Database 11gR2 OEM故障排除案例


客户的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目录下。

--end--

相关内容