|
解决WebSphere服务不能启动问题的几点经验总结
简述
WebSphere服务不能启动的原因通常有以下几种情况引起。有没杀干净的java进程;数据库没有启动;数据库部分参数设置错误;数据库结构坏掉;was连接数据库的schema不一致;病毒;补丁等原因。起初WebSpher服务不能启动,只好重新安装,浪费了不少时间,走了不少弯路。当出现WebSphere服务不能启动时,一般请先按下面步骤做一下检查。通常情况下,只要重新初始化一下管理库就可以了。
目录
一、首先检查是否有没有杀干净的java进程
二、检查db2数据库是否正常启动
三、检查管理数据库was是否存在
四、检查存放数据库的设备是否正常mount
五、检查WebSphere联接was库的schema是否一致
六、was管理数据库的修复(初始化)
七、检查文件库是否坏掉与was管理库的重建
八、Windows平台还应排除是否病毒原因
九、Linux平台通常跟系统补丁有关
十、异常关机导致服务不能启动仅需重启系统
内容
一、先检查是否有没有杀干净的java进程
在unix下:
# ps –ef | grep java
# kill –9 pid(注意确认是was的java进程)
然后再重新启动一次was服务。
# /opt/WebSphere/AppServer/bin/startupServer sh&
# tail –f opt/WebSphere/AppServer/logs/tracelog
在windows平台使用资源管理器查看并杀掉was java,重新启动服务。
二、检查db2数据库是否正常启动
如果WebSphere使用的db2作为管理库,那么应该首先检查db2是否正常启动。如果没有启动应启动它:检查是否有数据库 mount fsck
在unix下:
# su – db2as
$ db2admin start
$ su – db2inst1
$ db2start
在win平台下从cmd窗口或服务中启动。
三、检查管理数据库was是否存在
如果db2服务器动正常,仍不能启动,需要检查数据库是否存在。
在unix下:
$ db2
=>list db directory
=>connect to was user <user> using <password>
在window平台下从db2 command widow或控制中心查看。
四、检查存放数据库的设备是否正常mount
如果存在数据库却联接不上,可能情况之一是数据库设备没有正确mount上,在UNIX平台,非正常关机或一些对磁盘有破坏的操作会导致这种情况出现。
请使用下面命令检查没有mount上的磁盘。
# df –k
# mount
# mountall
# cat /etc/vfstab
假设检查到/dev/dsk/c0t0d0s6设备没有正确mount,使用 # fsck –f /dev/dsk/c0t0d0s6对其修复,再重新启动服务器。
五、检查WebSphere联接was库的schema是否一致
现象:
$ db2
=>db2
=>force application all
# /opt/WebSphere/AppServer/bin/startupServer sh&
启动服务后运行
=>list applications
也能列出已经联接was库,但仍启动失败。这时,确认是否改动过WebSphere联接数据库的dbUser,因为db2中不同用户创建的表存放在不同的schema下面,如果原来初始化成功,连接也正常,为了某种原因(如保密)将websphere联接was库的用户改掉,造成websphere找不到初始化表,造成服务无法启动。
解决办法有二:
一)、修改回原来的dbuser,在/opt/WebSphere/AppServer/bin/admin.config中(win版本在相关目录下),相关行:
com.ibm.ejs.sm.adminServer.dbUser=
com.ibm.ejs.sm.adminServer.dbSchema=
二)、重新初始化管理数据库
1、 WebSphere 3.54版本以前(含)
1)、修改/opt/WebSphere/AppServer/bin/admin.config(win版本在相关目录下):
install.initial.config=false 修改为 true
2)、# /opt/WebSphere/AppServer/bin/startServer.sh &
2、 WebSphere 3.55、3.56版本,相对3.54版本做了比较大的改动
1)、修改/opt/WebSphere/AppServer/bin/admin.config(win版本在相关目录下):
install.initial.config=false 修改为 true
还要修改
com.ibm.ejs.sm.adminServer.dbInitialized=true改为 false
2)、# /opt/WebSphere/AppServer/bin/startServer.sh &
六、was管理数据库的修复(初始化)
使用文件管理库(InstDB)不存在schema问题,但有时设置环境变量出现错误时,仍能造成was服务不能启动,这时,就需要对管理库进行修复,使一些启动参数回到初始化状态。管理库初始化后,和初始参数不相干的一些设置仍会保留下来。可以节省一些重设时间。但如果不相干的设置出现问题,只有重新建管理库。
对于db2管理库,和使用Instdb的文件管理库,本方法均适用:
一)、WebSphere 3.54版本以前(含)
1、修改/opt/WebSphere/AppServer/bin/admin.config(win版本在相关目录下):
install.initial.config=false 修改为 true
2、# /opt/WebSphere/AppServer/bin/startServer.sh &
二)、WebSphere 3.55、3.56版本,相对3.54版本做了比较大的改动,因此要特别注意
1、修改/opt/WebSphere/AppServer/bin/admin.config(win版本在相关目录下):
install.initial.config=false 修改为 true
还要修改
com.ibm.ejs.sm.adminServer.dbInitialized=true改为 false
2、# /opt/WebSphere/AppServer/bin/startServer.sh &
七、检查文件库是否坏掉与was管理库的重建
确认是数据库已经损坏,下面的工作是要重新创建库,重新初始化。(最早的时候,因为不知道问题的原因,只好重装,走了不少弯路)。在翔宇enp2000服务器也遇到过一次Instdb文件库损坏造成WebSphere不能启动的事故。解决办法一并列出:
一)、db2数据库,以unix平台为例:
1、 删除数据库
# su – db2inst1
$ db2
=>disconnect all
=>force application all
=>termenate
$ db2 drop db was
2、 创建数据库
$ db2
=>create db was
=>update db cfg for was using applheapsz 256
3、修改admin.config,数据库初始化
1)、WebSphere 3.54版本以前(含)
a、修改/opt/WebSphere/AppServer/bin/admin.config
install.initial.config=false 修改为 true
b、# /opt/WebSphere/AppServer/bin/startServer.sh &
2)、WebSphere 3.55、3.56版本
a、修改/opt/WebSphere/AppServer/bin/admin.config
Install.initial.config=false 修改为 true
还要修改
com.ibm.ejs.sm.adminServer.dbInitialized=true改为 false
b、# /opt/WebSphere/AppServer/bin/startServer.sh &
二)、文件管理库
1、 删除数据库
删除或改名文件库目录:
# rm –R /opt/WebSphere/AppServer/bin/idbStore 或
# cd /opt/WebSphere/AppServer/bin/idbStore
# mv ./idbStore ./idbStore.bak
2、修改admin.config,数据库初始化
1)、WebSphere 3.54版本以前(含)
a、修改/opt/WebSphere/AppServer/bin/admin.config
install.initial.config=false 修改为 true
b、# /opt/WebSphere/AppServer/bin/startServer.sh &
2)、WebSphere 3.55、3.56版本
a、修改/opt/WebSphere/AppServer/bin/admin.config
Install.initial.config=false 修改为 true
还要修改
com.ibm.ejs.sm.adminServer.dbInitialized=true改为 false
b、# /opt/WebSphere/AppServer/bin/startServer.sh &
八、Windows平台还应排除是否病毒原因引起。
九、Linux平台频繁出现不能启动服务,除以上原因外,还应检查版本所需要的补丁,很多情况是因为补丁不够造成。
十、异常关机导致服务不能启动,错误如下:
ADMU7704E: 在尝试启动与服务器相关联的 Windows 服务时失败:server1;
在执行 WASService.exe 时可能发生了错误:Starting Service: test-svrNode01
Timed out waiting for service to respond to command, after 60 seconds.Failed to start service, or timed out while waiting for start to complete. Check the logs for details.
此时只需按正常操作重启系统一切就OK。 |
|