文件权限导致Weblogic Embedded LDAP Server启动失败解决办法

下班路上接到同事求救电话,说误用root用户启动weblogic后,用其他用户无法启动weblogic了,weblogic抛出如下异常:

java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot

at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:273)

at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64)

at weblogic.work.ExecuteThread.execute(ExecuteThread.java:209)

at weblogic.work.ExecuteThread.run(ExecuteThread.java:181)

>

<2010-8-9 下午06时36分55秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>

<2010-8-9 下午06时36分55秒 CST> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>

<2010-8-9 下午06时36分55秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN

考虑到是root用户启动weblogic之后出现此问题,分析是由于root用户是某些文件的权限或用户组发生了变化,导致了其他用户的权限不足,使weblogic无法启动。因此,顺藤摸瓜,根据异常里最先抛出异常的代码:

weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:273)

在系统里查找了一番,发现$WEBLOGIC_HOME/user_projects/domains/base_domain/servers /AdminServer/data/ldap、ldapfiles路径下的EmbeddedLDAP.tran变成了root用户组的,所以其他低权限用户启动weblogic就无法打开此文件了。

#chown weblogic:bea EmbeddedLDAP.tran

问题解决。

加载评论框需要翻墙