这时,直接使用root启动weblogic是可以跑起来的。
误用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
摘自:
https://www.jnan.org/2010/08/09/file-permission-causes-weblogic-ldap-start-failure/