Unable To Start Admin Server with Error BEA-000386 (weblogic服务启动报错)

在未停止WebLogic Server的情况下误删其Server目录,导致服务无法启动。日志显示错误为BEA-000386,涉及AssertionError和InvocationTargetException,主要由于SerializedSystemIni.dat文件损坏,无法解密凭证。解决方法是编辑config.xml文件,将加密凭证替换为明文,重启Admin Server,服务器会重新加密凭证并成功启动。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

(一)问题:

今天一不小心将weblogic下的一个Server目录给删除了,前提是木有停止该Server,然后赶紧到控制台上将该Server重新建立,但是已经晚了,一直起不来了,日志如下:

<2012-7-4 下午05时41分06秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING>
<2012-7-4 下午05时41分06秒 CST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool>
<2012-7-4 下午05时41分06秒 CST> <Notice> <Log Management> <BEA-170019> <The server log file /home/zhuying/opt/bea/user_projects/domains/base_domain/servers/MamdbServer-233/logs/MamdbServer-233.log is opened. All server side log events will be written to this file.>
<2012-7-4 下午05时41分07秒 CST> <Critical> <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: java.lang.AssertionError: java.lang.reflect.InvocationTargetException
java.lang.AssertionError: java.lang.reflect.InvocationTargetException
        at weblogic.descriptor.DescriptorManager$SecurityServiceImpl$SecurityProxy._invokeServiceMethod(DescriptorManager.java:175)
        at weblogic.descriptor.DescriptorManager$SecurityServiceImpl$SecurityProxy.decrypt(DescriptorManager.java:192)
        at weblogic.descriptor.DescriptorManager$SecurityServiceImpl.decrypt(DescriptorManager.java:114)
        at weblogic.descriptor.internal.AbstractDescriptorBean._decrypt(AbstractDescriptorBean.java:990)
        at weblogic.management.configuration.SecurityConfigurationMBeanImpl.getCredential(SecurityConfigurationMBeanImpl.java:704)
        Truncated. see log file for complete stacktrace
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at weblogic.descriptor.DescriptorManager$SecurityServiceImpl$SecurityProxy._invokeServiceMethod(DescriptorManager.java:173)
        Truncated. see log file for complete stacktrace
weblogic.security.internal.encryption.EncryptionServiceException: com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte.
        at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:78)
        at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:94)
        at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:87)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        Truncated. see log file for complete stacktrace
com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte.
        at com.rsa.jsafe.JA_PKCS5Padding.a(Unknown Source)
        at com.rsa.jsafe.JG_BlockCipher.decryptFinal(Unknown Source)
        at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:68)
        at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:94)
        at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:87)
        Truncated. see log file for complete stacktrace
>
<2012-7-4 下午05时41分07秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED>
<2012-7-4 下午05时41分07秒 CST> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down>
<2012-7-4 下午05时41分07秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN>

木有办法我就将AdminServer重启一把,可是也起不来了,提示如下(大概意思就是类型转换的时候出现问题):

<2012-7-4 下午06时33分01秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to STARTING> 
<2012-7-4 下午06时33分01秒 CST> <Info> <WorkManager> <BEA-002900> <Initializing self-tuning thread pool> 
<2012-7-4 下午06时33分01秒 CST> <Notice> <Log Management> <BEA-170019> <The server log file /home/zhuying/opt/bea/user_projects/domains/base_domain/servers/AdminServer/logs/AdminServer.log is opened. All server side log events will be written to this file.> 
<2012-7-4 下午06时33分02秒 CST> <Critical> <WebLogicServer> <BEA-000386> <Server subsystem failed. Reason: java.lang.AssertionError: java.lang.reflect.InvocationTargetException【调用目标异常】
java.lang.AssertionError: java.lang.reflect.InvocationTargetException
        at weblogic.descriptor.DescriptorManager$SecurityServiceImpl$SecurityProxy._invokeServiceMethod(DescriptorManager.java:175)
        at weblogic.descriptor.DescriptorManager$SecurityServiceImpl$SecurityProxy.decrypt(DescriptorManager.java:192)
        at weblogic.descriptor.DescriptorManager$SecurityServiceImpl.decrypt(DescriptorManager.java:114)
        at weblogic.descriptor.internal.AbstractDescriptorBean._decrypt(AbstractDescriptorBean.java:990)
        at weblogic.management.configuration.SecurityConfigurationMBeanImpl.getCredential(SecurityConfigurationMBeanImpl.java:704)
        Truncated. see log file for complete stacktrace
java.lang.reflect.InvocationTargetException
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
        at java.lang.reflect.Method.invoke(Method.java:597)
        at weblogic.descriptor.DescriptorManager$SecurityServiceImpl$SecurityProxy._invokeServiceMethod(DescriptorManager.java:173)
        Truncated. see log file for complete stacktrace
weblogic.security.internal.encryption.EncryptionServiceException: com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte.
        at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:78)
        at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:94)
        at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:87)
        at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
        Truncated. see log file for complete stacktrace
com.rsa.jsafe.JSAFE_PaddingException: Could not perform unpadding: invalid pad byte.
        at com.rsa.jsafe.JA_PKCS5Padding.a(Unknown Source)
        at com.rsa.jsafe.JG_BlockCipher.decryptFinal(Unknown Source)
        at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptBytes(JSafeEncryptionServiceImpl.java:68)
        at weblogic.security.internal.encryption.JSafeEncryptionServiceImpl.decryptString(JSafeEncryptionServiceImpl.java:94)
        at weblogic.security.internal.encryption.ClearOrEncryptedService.decrypt(ClearOrEncryptedService.java:87)
        Truncated. see log file for complete stacktrace

<2012-7-4 下午06时33分02秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FAILED> 
<2012-7-4 下午06时33分02秒 CST> <Error> <WebLogicServer> <BEA-000383> <A critical service failed. The server will shut itself down> 
<2012-7-4 下午06时33分02秒 CST> <Notice> <WebLogicServer> <BEA-000365> <Server state changed to FORCE_SHUTTING_DOWN> 

(二)解决办法:【你也可以拷贝一份配置类似的config.xml文件进行覆盖~】

Symptoms【症状】
After an outage or unexpected physical machine shutdown weblogic does not start.
If you see this error when admin server is starting, or the following exception is thrown:
<Critical><BEA-000386> <Server subsystem failed. Reason: java.lang.AssertionError: java.lang.reflect.InvocationTargetException
java.lang.AssertionError: java.lang.reflect.InvocationTargetException
at weblogic.descriptor.DescriptorManager$SecurityServiceImpl$SecurityProxy._invokeServiceMethod(DescriptorManager.java:175)


Reason:
The file SerializedSystemIni.dat has become corrupted. This file contains the hash to decrypt the encrypted credential values if the config.xml. So, the Admin Server will not start because is not able to decrypt the credential and perform authentication properly.【意思就是SerializedSystemIni.dat文件已经损坏,文件中包含有解密config.xml信息凭证的hash值,因为不能够解密凭证和正确执行身份验证,所以Admin Server就起不来了~

该文件的位置:

$DOMAIN_HOME/yourdomain/security/SerializedSystemIni.dat


ReSolution:

The corrupted hash values must be replaced.

1. Edit all the encrypted values in the config.xml to plain text.
Example:
Before:
<credential-encrypted>{AES}b3I7UhWtRyj4DuKMIDVtW4Ln2nzH+HiYRhhQw1H2qpU0qJMOaDlK8iFZ+LvlJu+i
Zs6pptFJgWz8ryyudL1Zyvf00Rg11z9Iib7hoDC8covMFuig8wx7iOGK88zeKH7U</credential-encrypted>

After:
<credential-encrypted>MyCredentialInPlainText</credential-encrypted>

2. Restart the Admin Server.
After restart the Admin Server, the credentials will be encrypted again and the AdminServer will start.


转载出处:http://www.wikiconsole.com/wiki/?p=3122


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值