大多數狀況下,咱們會對weblogic的domain新創建一個用戶,從而用該用戶來管理domain,避免多個domain之間出現加載jvm,加載jar包,加載war,加載so文件等死鎖或者重複加載異常。
咱們如今weblogic922上就創建了兩個domain,用weblogic922_1,weblogic922_2去管理,並將
/usr/local/bea2/user_projects/domains/base_domain1
/usr/local/bea2/user_projects/domains/base_domain2
的權限分別設置爲weblogic922_1與weblogic922_2所屬,該命令以下:
chown -R weblogic922_1:root ./base_domain1
chown -R weblogic922_2:root ./base_domain2
若是在啓動weblogic的時候忘記切換用戶用root啓動一次後,再次用weblogic922_x啓動,就會出現以下錯誤:
<Aug 7, 2008 3:19:24 PM CST> <Critical> <EmbeddedLDAP> <BEA-171522> <An error occurred while initializing the Embedded LDAP Server. The exception thown is java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot. This may indicate a problem with the data files for the Embedded LDAP Server. If the problem is with the data files and it can not be corrected, backups of previous versions of the data files exist in ./servers/AdminServer/data/ldap/backup.>
<Aug 7, 2008 3:19:24 PM CST> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:
There are 1 nested errors:
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)
上面的錯誤緣由主要是在用root用戶啓動weblogic的時候會在base_domain裏產生root權限的文件,或者用root權限的文件覆蓋了原來存在的weblogic922_x所屬文件,當再次切換到weblogic922_x用戶後,啓動的時候就會出現權限問題,因此報告上面的錯誤。
解決辦法:
在root用戶下,執行:
chown -R weblogic922_1:root ./base_domain
再次切換到weblogic_922下啓動就沒有問題了。 java