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來替換損壞的文件。
替換前先備份。。