不会健身的程序员
不是好作家

weblogic无法启动

今天生产环境的weblogic突然在一次停止之后无法正常启动,下面是现场实施人员把后台出错日志截图的系统出错截图:weblogic

可以看到出错截图里有:

Unable to obtain lock on /opt/weblogic/domains/oa_domain/servers/appSrv1/tmp/appSrvl.lok. Server may already be running

从语意可以看出无法启动的原因,是因为服务器上有这个锁文件,我们知道有些系统为了让其他进程无法访问某些资源,或者不重复启动2次以上都会在启动的时候生成一个类似*.lock的文件。遇到这种情况,我们可以做:

排错一:检查是否server所在进程已经停止

ps -ef | grep java

这个命令是查看服务器上是否还有java进程(weblogic是一个java中间件),如果有java进程,则需要用关闭weblogic的命令温柔的正常停止,命令类似下面这个,具体要找安装手册:

./stopWebLogic.sh

如果还是因为某些原因无法停止,你可以采用暴力的手段:

kill -9 进程号

进程号是通过之前的ps -ef | grep java命令查看的 比如显示 root 5555 5532 第一个5555就是进程号

排错二:服务器已经停止,则尝试性把锁文件“删除”

这里的删除一般不是正常的删除,做系统的都要有两手准备,删除的操作是永远没办法还原的,但是我们可以用另外一种方法达到删除的效果,就是把文件移开,或者重命名,一般建议移到其他目录。因为有些代码逻辑是判断他特定目录下是否存在文件来判断的,你重命名也一样会存在文件。

mv /opt/weblogic/domains/oa_domain/servers/appSrv1/tmp/appSrvl.lok /

执行了上面的排错之后重新启动,发现还是无法正常启动,接下来的错误截图如下:

weblogic_error2

从截图我们可以感性的知道2个发生错误的地方

Error opening the Transaction Log: /opt/weblogic/domains/oa_domain/server/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.tran

 

java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot cannot be cast to com.octetstring.vde.backend.standard.BackendStandard

 

这2个地方是我们通过搜索引擎查找问题的关键点:

1、Permission denied(拒绝访问)

2、有个java类型转换错误

于是小林各种google,各种查找问题的解决方案,通过第一个提示,一般是权限问题才会导致拒绝访问,再根据多年玩服务器的经验得出以下几点需要考虑的:

1、是不是用服务器对应的用户执行的启动命令(比如我们平时启动命令是weblogic,有时候有人用root用户执行启动命令就会导致这种问题出现,经询问发现,一直都是用weblogic启动的)

2、最近有没有做过什么操作(本着无风不起浪的思想,经询问发现,最近没做什么操作)

查看一下出错文件的具体权限和所属用户

ll /opt/weblogic/domains/oa_domain/server/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.tran

也可以先通过查询系统其他对应文件的权限,来比较是否是这个文件权限问题

locate EmbeddedLDAP.tran

这个命令可以查询(这个命令是读索引里的,所以很快),也可以通过

find /opt/weblogic/ -name EmbeddedLDAP.tran

这个也是查找命令,不过速度很慢,是一个一个找的,不是读索引的,找到文件之后,再查看权限是否一样,经过现场人员确定发现出错文件的权限和所属用户确实变了,可以通过下面命令,把文件所属用户授予启动weblogic的用户,这里我们是weblogic用户

chown weblogic EmbeddedLDAP.tran

或者非常暴力的把文件的权限改成所有人都可以访问

chmod 777 EmbeddedLDAP.tran

假设这么做了还是无法启动,而你又不确定,是否是因为某些人用root用户运行了启动了weblogic用户导致weblogic一些文件夹的权限改变了,你可以非常暴力的,把整个weblogic的安装路径授权,当然暴力授权的前提是:在安全性不是特别高的场合放大权限无所谓。。。。

chmod 777 –R /opt/weblogic

如果还是不行,那只能再求助大神和google了。

赞(0)
转载请注明出处:林俊龙博客 » weblogic无法启动

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

年年岁岁花相识,岁岁年年人不同

给我留言网站地图

谢主隆恩

支付宝扫一扫打赏

微信扫一扫打赏