weblogic报java.lang.ClassCastException:com.octetstring.vde.backend.BackendRoot之解决

如下异常:

<Jul 27, 2009 10:47:51 AM 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 cannot be cast to com.octetstring.vde.backend.standard.BackendStandard. 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/***/*_domain/servers/AdminServer/data/ldap/backup.> 


<Jul 27, 2009 10:47:51 AM CST> <Critical> <WebLogicServer> <BEA-000362> <Server failed. Reason:

There are 1 nested errors:

java.lang.ClassCastException: com.octetstring.vde.backend.BackendRoot cannot be cast to com.octetstring.vde.backend.standard.BackendStandard
        at weblogic.ldap.EmbeddedLDAP.start(EmbeddedLDAP.java:273)
        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)

>

错误原因:

在用root用户启动weblogic的时候会在base_domain里产生root权限的文件,或者用root权限的文件覆盖了部分原来存在的weblogic用户所属文件,当再次切换到weblogic用户后,启动的时候就会出现权限问题,所以报告上面的错误。这个错误就是因为EmbeddedLDAP.tran文件的权限变成了root的。

 

解决方法:

使用root用户登陆,把整个weblogic文件夹的权限重新赋给bea用户

chown -R bea:bea weblogic

重新使用bea用户启动就可以了。

#chown -R weblogic:weblogic <mydomain_dir>
说明:前一个webogic是指用户,后一个weblogic是指用户所属组,而<mydomain_dir>是weblogic安装所在目录,此外,该命令一定要用root权限执行。

在修改完权限之后,重新启动WebLogic,异常消失,可以正常启动。

小结:

linux/unix系统的权限控制比较严格,在环境部署的时候要尤其注意,否则可能造成一些莫名其妙的问题,建议root用户配置和其它用户不同的密码并控制root用户的使用,尽可能的使用普通用户来做部署的相关操作!

你可能感兴趣的:(weblogic报java.lang.ClassCastException:com.octetstring.vde.backend.BackendRoot之解决)