关于解决WebSphere服务不能启动问题的几点经验总结

关于解决WebSphere服务不能启动问题的几点经验总结

李守亮 slli@founder.com.cn

Last Version:2003-3-20

 

 

简述

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(注意确认是wasjava进程)

 

然后再重新启动一次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.configwin版本在相关目录下):

install.initial.config=false 修改为 true

2)、# /opt/WebSphere/AppServer/bin/startServer.sh &

 

2、  WebSphere 3.553.56版本,相对3.54版本做了比较大的改动

1)、修改/opt/WebSphere/AppServer/bin/admin.configwin版本在相关目录下):

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.configwin版本在相关目录下):

install.initial.config=false 修改为 true

2# /opt/WebSphere/AppServer/bin/startServer.sh &

 

二)、WebSphere 3.553.56版本,相对3.54版本做了比较大的改动,因此要特别注意

1、修改/opt/WebSphere/AppServer/bin/admin.configwin版本在相关目录下):

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.553.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.553.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平台频繁出现不能启动服务,除以上原因外,还应检查版本所需要的补丁,很多情况是因为补丁不够造成。

 

 

 

 

 

 

 

 

李守亮 slli@founder.com.cn

2003-03-20

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值