解决WebLogic启动时BEA-171522异常(启动时报classcast exception)

如下异常:

<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,造成WebLogic的LDAP文件的权限属性为root:root(前一个为用户,后一个为组),所以在启动的过程中会提示LDAP异常。

知道了原因,再考虑解决方案。既然是权限方面出现了问题,那么就需要将权限修改为正确的属性,使用以下命令:

1
#chown -R weblogic:weblogic

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

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

/home/weblogic/bea/user_projects/domains/webtrade/servers/AdminServer/data/ldap/ldapfiles
/home/weblogic/bea/user_projects/domains/webtrade/servers/server1/data/ldap/ldapfiles

### 关于WebLogic启动时错误BEA-149231的解决方案 当遇到WebLogic服务器启动过程中错`BEA-149231`时,通常是因为管理服务器(Managed Server)无法正确连接到管理员服务器(Admin Server)。以下是可能的原因以及对应的解决方法: #### 原因分析 该错误的主要原因可以归纳为以下几点: 1. **网络配置问题**:管理服务器尝试通过不正确的主机名或IP地址访问管理员服务器[^4]。 2. **DNS解析问题**:如果管理员服务器绑定到了一个不可解析的DNS名称,则可能导致连接失败[^4]。 3. **未使用的服务器实例存在干扰**:某些不再使用的服务器实例仍然存在于控制台中,可能会引发冲突[^5]。 #### 解决方案 针对以上提到的各种可能性,提供如下几种具体的解决措施: 1. 修改管理服务器指向的管理员服务器地址 可以调整`managedServerName`使其指向不同于当前`adminHost`的一个新的管理员节点;或者采用指定IP地址的方式定义`adminHost`(即设置参数 `-Dweblogic.admin.host=a.b.c.d`)来规避潜在的名字解析难题[^4]。 2. 更新DNS记录 如果决定继续沿用现有的`adminHost`,那么就需要确认此域名能够映射至实际运行着管理员服务的那个机器的真实IP,这往往涉及到对内部DNS系统的修改操作。 3. 清理无用的服务条目 登录到WebLogic Server Console界面下查看是否有冗余或者是已经废弃掉却尚未被移除出去的老版本server entries。如果有发现的话就应当及时把这些不必要的项目给删掉再重试整个流程看是否恢复正常工作状态[^5]。 另外,在处理这类跨机部署场景下的复杂环境设定之时还可以参照官方文档关于如何把WebLogic 12c分布安装到多台物理计算机上的指导说明来进行更细致全面地排查与修正作业[^2]。 ```bash # Example command line options when starting Managed Server with specific Admin Host via IP Address. java ... -Dweblogic.admin.host=192.168.x.y ... ``` ### 注意事项 在整个修复过程里要特别留意任何有关安全凭证方面的变动情况因为之前有过案例显示有时看似简单的密码输入失误也会造成类似的登录拒绝现象发生就像前面提及过的ORA-01017那样所以务必保证所有的认证资料都是最新有效的才行[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值