Symptoms
JVMCL058: Can't find class java.lang.NoClassDefFoundError.
JVMDG218: JVM is not fully initialized - will not do dump processing.
打补丁时遇到上述错误
Cause
这个错误的具体原因就是$ORACLE_HOME/jdk损坏
Solution
这个问题解决起来也很简单
参考:OPatch Fails With "JVMCL058: Can't find class java.lang.NoClassDefFoundError" Error (文档 ID 1387917.1)
Oracle给了两种解决方法
1、使用服务器上其他好的JRE替换opatch默认的JRE
% opatch apply -jre <JRE_LOCATION>
% opatch apply -jdk <JDK_LOCATION>
但是这种方法不能根本的解决该问题
2、替换$ORACLE_HOME/jdk
从其他相同操作系统及相同EBS版本服务器上拷贝一个完整的JDK来替换损坏的文件。
替换前先备份。。