weblogic报错BEA-000388解决服务进程异常消失问题

1、问题描述

运维同事反馈说运营系统weblogic服务进程异常退出,最后导致HA自动切换,切换过程失败导致文件系统无法挂起,weblogic和DB无法正常启动。

2、故障分析

中间件工程师在故障时间点:2017-01-10 17:26分左右,巡检了三套domain环境,最终在rpsdomain域下面的Adminserver.log日志中找到了服务被异常退出的信息,Adminserver无法正常启动,调用

####<2017-1-10 下午 05 26 48 CST> <> <> <> <1484040408882>

####<2017-1-10 下午 05 26 48 CST> <> <> <> <1484040408883> >

####<2017-1-10 下午 05 26 48 CST> <> <> <> <1484040408885>

####<2017-1-10 下午 05 26 48 CST> <> <> <> <1484040408922>

####<2017-1-10 下午 05 26 48 CST> <> <> <> <1484040408931>

####<2017-1-10 下午 05 26 48 CST> <> <> <> <1484040408932>

####<2017-1-10 下午 05 26 48 CST> <> <> <> <1484040408933>

3、故障原因

本身weblogic不会自己停止,它是收到停止的信号才自己关闭的。通常情况下,产生JVM called WLS shutdown hook的原因是应用的代码中调用了System.exit()方法,触发了weblogic停止。导致weblogic服务启动失败,最终导致HA切换到备机失败。其实WebLogic中没有任何代码会调用System.exit()方法,建议检查应用程序代码,以及引用的第三方类库中是否有可能调用到System.exit()方法。关于JVM called WLS shutdown hook的原因是偶发性的产生,定不会时刻调用。

4、故障解决

1、需要开发确认应用程序和第三方类库是否引用了System.exit()方法,如果有引用,建议去掉此方法。如果开发也不知道,建议开启weblogic的trace跟踪,但trace一开启会刷很多日志出来会影响磁盘IO读写。

2、ORACLE官方也提供了规避方法那就是在weblogic中加上-Xrs参数,可以避免这个问题
5、参考资料

Error: "BEA-000388 JVM called WLS shutdown hook. The server will force shutdown now" when BI_Server1 Shuts Down. (文档 ID 1321815.1)

BEA-000388: JVM called WLS shutdown hook. The server will force shutdown now. (文档 ID 1626472.1)




请使用浏览器的分享功能分享到微信等