错误现象:
使用bea用户启动weblogic时报错,错误信息如下:
<2014-7-29 下午07时47分23秒 CST> <Notice> <Log Management> <BEA-170019> <The server log file /home/bea/bea/user_projects/domains/wsbs_nw/servers/AdminServer/logs/AdminServer.log is opened. All server side log events will be written to this file.> <2014-7-29 下午07时47分24秒 CST> <Error> <EmbeddedLDAP> <BEA-000000> <Error opening the Transaction Log: /home/bea/bea/user_projects/domains/wsbs_nw/servers/AdminServer/data/ldap/ldapfiles/EmbeddedLDAP.tran (Permission denied)> <2014-7-29 下午07时47分24秒 CST> <Error> <EmbeddedLDAP> <BEA-000000> <Error Instantiating 'dc=wsbs_nw': null> <2014-7-29 下午07时47分24秒 CST> <Critical> <EmbeddedLDAP> <BEA-171522> <An error occurred while initializing the Embedded LDAP Server. The exception thrown 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 /home/bea/bea/user_projects/domains/wsbs_nw/servers/AdminServer/data/ldap/backup.> <2014-7-29 下午07时47分24秒 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:303) at weblogic.t3.srvr.SubsystemRequest.run(SubsystemRequest.java:64) at weblogic.work.ExecuteThread.execute(ExecuteThread.java:201) at weblogic.work.ExecuteThread.run(ExecuteThread.java:173) > <2014-7-29 下午07时47分24秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED> <2014-7-29 下午07时47分24秒 CST> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down> <2014-7-29 下午07时47分24秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>
根据错误信息是EmbeddedLDAP.tran权限问题导致,查看这个文件发现所属人变成了root,同时发现logs文件夹的所属人也是root,分析应该是疏忽使用root启动过写入了一些root权限的文件,导致使用bea用户启动时权限不足报错。
解决方法:
使用root用户登陆,把整个weblogic文件夹的权限重新赋给bea用户
chown -R bea:bea weblogic
重新使用bea用户启动就可以了。
小结:
linux/unix系统的权限控制比较严格,在环境部署的时候要尤其注意,否则可能造成一些莫名其妙的问题,建议root用户配置和其它用户不同的密码并控制root用户的使用,尽可能的使用普通用户来做部署的相关操作!