這時,直接使用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/