OMSPatcher命令報錯Fail with Error Code 1 and Message: Unsupported major.minor version 51.0
阿新 • • 發佈:2020-07-30
OMSPatcher命令報錯Fail with Error Code 1 and Message: Unsupported major.minor version 51.0
前言
最近安裝OEM 13c,準備對OMS打補丁的時候,檢查OMSPatcher版本的時候,報錯如下:
[oracle@oem13c ~]$ omspatcher version Exception in thread "main" java.lang.UnsupportedClassVersionError: oracle/opatch/opatchsdk/OPatchException : Unsupported major.minor version 51.0at java.lang.ClassLoader.defineClass1(Native Method) at java.lang.ClassLoader.defineClassCond(ClassLoader.java:637) at java.lang.ClassLoader.defineClass(ClassLoader.java:621) at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141) at java.net.URLClassLoader.defineClass(URLClassLoader.java:283) at java.net.URLClassLoader.access$000(URLClassLoader.java:58) at java.net.URLClassLoader$1.run(URLClassLoader.java:197) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:190) at java.lang.ClassLoader.loadClass(ClassLoader.java:306) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:301) at java.lang.ClassLoader.loadClass(ClassLoader.java:247) Could not find the main class: oracle/opatchauto/oms/OPatchAuto. Program will exit. OMSPatcher failed with error code 1
反覆安裝解除安裝的JDK
隨後,我就直接問度娘了。
找到這麼一篇文章,報錯和我這個比較類似。
裡邊提到了這麼一個對應關係,頓時我就那個高興啊!
你瞧瞧你瞧瞧,簡直都領你到家門口了,只要自己踏進去問題就迎刃而解了啊。
然後我就看了下當前java的版本,
[oracle@oem13c ~]$ java -version OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00007fb607c00000, 138412032, 2097152, 0) failed; error='Cannot allocate memory' (errno=12) java version "1.7.0_45" OpenJDK Runtime Environment (rhel-2.4.3.3.0.1.el6-x86_64 u45-b15) OpenJDK 64-Bit Server VM (build 24.45-b08, mixed mode)
??????
這版本符合要求的啊!!!
可能是後邊的小版本號不符合吧?正好前段時間公司同事託我用Oracle賬號下載了JDK8的版本,我就升下級吧。
於是,
[root@oem13c soft]# rpm -ivh jdk-8u251-linux-x64.rpm warning: jdk-8u251-linux-x64.rpm: Header V3 RSA/SHA256 Signature, key ID ec551f03: NOKEY Preparing... ########################################### [100%] 1:jdk1.8 ########################################### [100%] Unpacking JAR files... tools.jar... plugin.jar... javaws.jar... deploy.jar... rt.jar... jsse.jar... charsets.jar... localedata.jar... [root@oem13c soft]# java -version java version "1.8.0_251" Java(TM) SE Runtime Environment (build 1.8.0_251-b08) Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)
然鵝,
還是報錯。
又想,文章說是說要7以上,興許是8又太新了。
於是又跑官網下載了jdk-7u80-linux-x64.rpm,回退8的,安裝7的。
還是不行!!!
後來又反覆試驗,甚至升級OMSPatcher版本,也是一樣。
轉折又轉折
還是又mos上搜索一下吧,之前搜過了沒搜出啥。
這次我直接把一整行報錯拿出來搜。
天吶!!之前搜基本都是不對邊的DOC,終於搜出來了。
別急,先看看能不能解決(Doc ID 2175778.1)。
把環境變數ORACLE_HOME的值改成oms的home路徑。
[oracle@oem13c ~]$ export ORACLE_HOME=/u01/app/oem13c/middleware [oracle@oem13c ~]$ /u01/app/oem13c/middleware/OMSPatcher/omspatcher version OMSPatcher Version: 13.8.0.0.3 OPlan Version: 12.1.0.2.2 OsysModel build: Mon Dec 21 18:31:52 PST 2015 OMSPatcher succeeded.
終於成功了,果然Oracle自家產品的問題,還是mos靠譜點。
不對!!!那我資料庫也是同一臺機,ORACLE_HOME環境變數不能改啊!!!