1、Weblogic中间件(含业务应用)通用应急预案 一、 应急处理标准和工作步骤 国网信息系统中间件关键采取weblogic集群方法布署,经过中间件控制台对各应用节点进行统一管理和监控,此次中间件应急预案以“先抢通、后抢修”为处理标准,首先恢复业务应用,保留相关日志,后期再依据日志进行具体分析和故障定位。 weblogic中间件是应用程序公布平台,相对比较稳定。业务应用均经过weblogic中间件进行公布,经过weblogic中间件JDBC等配置,实现前端应用和后台数据库之间交互。所以不管是程序代码问题、硬件问题、数据库问题全部有可能表现在weblogic中间件节点异常;而且因为程序代码效
2、率低下、参数配置不妥,也会造成weblogic中间件节点异常。这种情况下,重启异常weblogic节点,释放资源,是最快恢复业务应急手段。具体原因能够经过备份日志,事后进行分析排查。 本应急预案中包含到程序包路径,均是依据信通企业weblogic中间件安装规范中指定路径。假如未根据规范安装中间件,请电话咨询对应系统专责帮助处理。 二、weblogic中间件故障应急场景 故障应急处理步骤6步: 1、 使用IE浏览器访问节点应用确定节点可用性。 2、 登陆weblogic控制台确定节点状态。 3、 搜集故障点日志,备份节点日志。 4、 查看节点日志,依据报错信息确定故障原因。 5、
3、 依据故障原因,实施应急操作。 6、 组织人员进行具体原因分析并整改。 三、故障场景 Weblogic中间件日志文件中常见错误以下: 序号 错误信息 原因 出现时机 实施步骤 1 java.lang.OutOfMemoryError 内存溢出 节点运行过程中 1,2,3,4,5 java.lang.OutOfMemoryError 内存溢出 节点开启过程中 9,12 2 more than the configured time (StuckThreadMaxTime) of "600" seconds 线程阻塞 节点运行过程中 1,2,3,4
4、5 3 error occured:weblogic.jdbc.extensions.PoolLimitSQLException: mon.resourcepool.ResourceLimitException: No resources currently available in pool dgNonPool to allocate to applications, please increase the size of the pool and retry.. JDBC连接池满 节点开启过程中 6,12 4 BEA-000627 Reachedmaximum capaci
5、ty of pool “JDB-HQGL” make 0 new resource instances
6、system failed. Reason: weblogic.security.SecurityInitializationException: Authentication for user weblogic denied
weblogic.security.SecurityInitializationException: Authentication for user weblogic denied
weblogic密码错误
节点开启过程中
8,12
7
/home/weblogic/Oracle/Middleware/user_projects/domains/test_d 7、omain/bin/startWebLogic.sh: line 180: 64034 Killed ${JAVA_HOME}/bin/java ${JAVA_VM} ${MEM_ARGS} -Dweblogic.Name=${SERVER_NAME} -Djava.security.policy=${WL_HOME}/server/lib/weblogic.policy ${JAVA_OPTIONS} ${PROXY_SETTINGS} ${SERVER_CLASS}
人为停止节点
节点运行过程中
1,2,3,4,12
8
8、41:37 AM CST> 9、BEA-001112> 10、0": IO Error: The Network Adapter could not establish the connection.>
数据库单节点异常,RAC无法全部正常对外提供服务
节点运行过程中
13,11,12
10
The JRE was not found in directory /usr/java/k1.6.0_38. (JAVA_HOME)
Please edit your environment and set the JAVA_HOME
variable to point to the root directory of your Java ins 11、tallation.
Java环境变量配置不正确
节点开启过程中
14,12
11
12、> 13、12
13
因硬件或系统故障,应用服务器全部无法开启
16
四、应急处理步骤
1. 使用IE登陆访问对应故障节点应用地址,验证故障现象,预防误告警出现。
2. 登录weblogic控制台,确定故障节点名称。
使用IE浏览器,访问weblogic控制台http://IP:端口,依据异常端口号确定异常节点名称,以下图。
3. 使用weblogic用户登陆操作系统。
4. 备份对应节点日志。
$ cd /app/logs/hqgl/server1.log ---进入对应日志目录
$ cp –r server1.log 0808server1.log -----根据 14、日期备份节点日志
5. 查看节点进程状态。
$ ps –ef|grep server1 (server1为节点名称)
假如返回值为空,以下,则实施步骤12:
weblogic 59086 2803 0 22:12 pts/1 00:00:00 grep server1
假如返回值不为空,以下,则实施步骤11:
6. 增加JDBC连接池上限
1) 登陆weilogic控制台,进入JDBC配置页面,修改增加JDBC配置。关键调整initial capacity及maximum capacity两个参数,其中initial capacity表示初始建立连接数,ma 15、ximum capacity表示最大连接数,关键调整增大Maximum Capacity参数,再原有基础上增加20。(具体要依据对应数据库process上限,要求weblogic节点数*Maximum Capacity值< 数据库process数80%)以下图所表示:
2) 假如无法进入JDBC控制界面,能够根据步骤11,12,经过重启应用节点,释放数据库连接资源,达成抢通业务目标。
7. 调整操作系统用户打开文件数量上限
使用root用户登录系统
# vi /etc/security/limits.Conf
weblogic - nofile 10240 ----新 16、增该内容,或调整该值上限。
# su – weblogic ---切换到weblogic用户
$ ulimit –Hn ---验证配置是否生效,以下表示生效
10240
8. 修改weblogic后台开启密码问题
使用weblogic用户登录系统,进入节点缓存目录,修改后台开启密码文件。
$ cd /app/weblogic/Oracle/Middleware/user_projects/domain名称/servers/节点名称/security/
$ vi boot.properties
Username=weblogic -------登录控 17、制台使用用户名
Password=12345qwert ------登录控制台使用密码,在开启节点后会自动进行加密。
9. 调整JVM参数设置
使用weblogic用户登录系统
$ cd /home/weblogic/startsh/ ----进入开启脚本目录
$ vi server1.sh --修改对应节点开启时JVM内存配置,具体要依据服务器物理内存确定,标准上该服务器上运行java进程内存总和,不得超出物理内存80%。
export USER_MEM_ARGS="-Xms2048m -Xmx2048m -XX:PermSize=512m 18、XX:MaxPermSize=512m"
WL_LOG=/app/logs/hqgl/server1.log
nohup /home/weblogic/Oracle/Middleware/user_projects/domains/test_domain/bin/startManagedWebLogic.sh server1 http://192.168.0.4:7001 > $WL_LOG &
tailf $WL_LOG
10. 修改文件权限
使用root用户登录操作系统
# chown –R weblogic:bea /app/source_program/hqgl/ 19、 ----修改程序包权限
#chown –R /app/weblogic/Oracle/ Middleware/user_projects/domains/对应domain名称 ------修改weblogic相关文件权限
#chown –R /app/logs/hqgl/ ------修改开启日志文件权限
11. 停止异常节点进程
weblogic@test startsh] $ kill -9 61658 ----停止异常节点进程
12. 开启异常节点
weblogic@test startsh]$ cd /home/weblogic/sta 20、rtsh/ --进入开启脚本路径
[weblogic@test startsh]$ ls
admin.sh server1.sh
[weblogic@test startsh]$ ./server1.sh ---开启节点
13. 修改JDBC连接串
假如在数据库单节点或VIP等集群服务异常时,造成数据库RAC节点无法全部正常对外提供服务时,修改JDBC连接串,让应用节点连接到可用数据库地址上。
登陆weilogic控制台,进入JDBC配置页面,依据数据库专责提供可用连接串,修改JDBC连接串地址为
jdbc:oracle:thin:@(DESCRIPTION=(AD 21、DRESS_LIST=(ADDRESS=(PROTOCOL=TCP)(HOST=10.1.80.141)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=test)(INSTANCE_NAME=test)))
14. JAVA环境变量错误
Weblogic用户登录系统
$ java –version --------查询weblogic用户下jdk信息
java version "1.6.0_37"
Java(TM) SE Runtime Environment (build 1.6.0_37-b06)
Java HotSpot(T 22、M) 64-Bit Server VM (build 20.12-b01, mixed mode)
$ which java ---查询jdk安装路径
/usr/java/jdk1.6.0_37/bin/java
$ cd /home/weblogic/Oracle/Middleware/user_projects/domains/test_domain/bin
$ vi setDomainEnv.sh ---根据上面查询路径结果修改weblogic脚本中JDK配置
SUN_JAVA_HOME="/usr/java/jdk1.6.0_37"
export SUN 23、JAVA_HOME
if [ "${JAVA_VENDOR}" = "Oracle" ] ; then
JAVA_HOME="${BEA_JAVA_HOME}"
export JAVA_HOME
else
if [ "${JAVA_VENDOR}" = "Sun" ] ; then
JAVA_HOME="${SUN_JAVA_HOME}"
export JAVA_HOME
else
JAVA_VENDOR="Su 24、n"
export JAVA_VENDOR
JAVA_HOME="/usr/java/jdk1.6.0_37"
export JAVA_HOME
fi
fi
15. 更换weblogic9版本更换license
Weblogic用户登录系统
使用FTP工具上传授权license至/home/weblogic/bea目录下
16. 因硬件或系统故障,节点均无法开启
临时调配应用服务器,重新安装weblogic中间件,利用备份文件,进行重新公布配置。提议保留原故障环境。






