我是靠谱客的博主 搞怪金针菇,最近开发中收集的这篇文章主要介绍weblogic打补丁报错OPatch failed with error code 255,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

weblogic打补丁报错OPatch failed with error code 255

查看opatch 日志报错内容如下 ,日志路径/Oracle/Middleware/cfgtoollogs/opatch

less opatch2021-08-30_15-26-18PM_1.log

[Aug 30, 2021 3:26:19 PM] [INFO] CUP_LOG: Trying to load HomeOperations object

[Aug 30, 2021 3:26:19 PM] [INFO] CUP_LOG: HomeOperations provider available, but failed to create HomeOperation object. Error! Circular loading of installed providers detected

[Aug 30, 2021 3:26:19 PM] [INFO] Stack Description: java.lang.RuntimeException: Exception when creating HomeOperations.

at java.nio.file.spi.FileSystemProvider.installedProviders(FileSystemProvider.java:161)

at java.nio.file.FileSystems.newFileSystem(FileSystems.java:384)

at com.oracle.cie.gdr.nio.NioClassLoaderService.getModuleJars(NioClassLoaderService.java:509)

at com.oracle.cie.gdr.nio.NioClassLoaderService.getModuleJars(NioClassLoaderService.java:396)

at com.oracle.cie.gdr.helpers.GdrHelper.getConfiguredClassLoader(GdrHelper.java:149)

at com.oracle.cie.gdr.Home.getRegistryHelper(Home.java:413)

at com.oracle.cie.gdr.Home.setHome(Home.java:391)

at com.oracle.cie.gdr.Home.<init>(Home.java:361)

at com.oracle.cie.gdr.Home.getHome(Home.java:290)

at com.oracle.cie.gdr.Home.getHome(Home.java:227)

at com.oracle.cie.gdr.patch.HomeOperationsImpl.<init>(HomeOperationsImpl.java:138)

at com.oracle.cie.gdr.patch.HomeOperationsServiceProviderImpl.getHomeOperationsInstance(HomeOperationsServiceProviderImpl.java:49)

at oracle.glcm.opatch.common.api.install.HomeOperationsFactory.getHomeOperations(HomeOperationsFactory.java:118)

at oracle.glcm.opatch.common.api.install.HomeOperationsFactory.getHomeOperations(HomeOperationsFactory.java:95)

at oracle.glcm.opatch.common.api.install.HomeOperationsFactory.getHomeOperations(HomeOperationsFactory.java:83)

at oracle.opatch.OPatchEnv.checkAndSetCupFlag(OPatchEnv.java:7814)

at oracle.opatch.OPatch.process(OPatch.java:771)

weblogic@jifenweb01 opatch]$ less opatch2021-08-30_15-26-18PM_1.log

[Aug 30, 2021 3:26:19 PM] [INFO] CUP_LOG: Trying to load HomeOperations object

[Aug 30, 2021 3:26:19 PM] [INFO] CUP_LOG: HomeOperations provider available, but failed to create HomeOperation object. Error! Circular loading of installed providers detected

是JAVA_HOME的问题。

检查了以下信息。

1. JAVA_HOME设置

在PATH环境变量中指向正确的JAVA_HOME。

export PATH=$JAVA_HOME/bin:$PATH

2. 检查 JAVA_HOME权限确保JAVA_HOME具有正确的权限

3.检查了commEnv.sh和setHomeDirs.sh里配置的JAVA_HOME,都没问题。

检查后都正常, 然后就添加opatch debug , 看opatch 日志里打印什么报错。

export OPATCH_DEBUG=TRUE ;/Oracle/Middleware/OPatch/opatch  lsinv

debug信息如下,可以看到是使用jdk1.7,我现在环境使用的是jdk1.8,/usr/java/jdk1.7.0_75这个路径早已经删除,找不到这个JAVA_HOME

[weblogic@jifenweb01 ~]$

export OPATCH_DEBUG=TRUE ; /Oracle/Middleware/OPatch/opatch  lsinv
OPatch was not able to set FMW_COMPONENT_HOME by itself.
  CAS jars exist ? 0  [ /Oracle/Middleware/OPatch/jlib/com.oracle.glcm.patch.content-store_12.2.7.0.0.jar]
  CAS jars exist ? 0  [ /Oracle/Middleware/OPatch/../../glcm/modules/com.oracle.glcm.patch.content-store_12.2.7.0.0.jar]
- Detect the option -jre/-jdk ? 0
- Detect the bundled jre ( /Oracle/Middleware/OPatch/jre) ? 0
- Start JVM Discovery ...
Looking for java using  /Oracle/Middleware/oui/bin/getVariable.sh
  JAVA version : 7  [/usr/java/jdk1.7.0_45]
Can Use JAVA ? 1
Setting java to /usr/java/jdk1.7.0_45/bin/java
Looking for -d64 option using  /Oracle/Middleware/oui/bin/getVariable.sh
Setting JVM_64 to
  CAS jars exist ? 0  [ /Oracle/Middleware/OPatch/jlib/com.oracle.glcm.patch.content-store_12.2.7.0.0.jar]
  CAS jars exist ? 0  [ /Oracle/Middleware/OPatch/../../glcm/modules/com.oracle.glcm.patch.content-store_12.2.7.0.0.jar]
  JAVA version : 7  [/usr/java/jdk1.7.0_45]
Can Use JAVA ? 1
Machine Info: Linux jifenweb01 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux
_osArch is amd64
_javaVMSpecVersion is 1.7
_javaVMSpecVendor is Oracle Corporation
_javaVMSpecName is Java Virtual Machine Specification
_javaVMVendor is Oracle Corporation
_javaJRESpecVersion is 1.7
_javaJRESpecVendor is Oracle Corporation
_javaJRESpecName is Java Platform API Specification
_javaSupportedClassVersion is 51.0
OPatch compiled with major version: 49, minor version: 0
Looking for -d64 option using  /Oracle/Middleware/oui/bin/getVariable.sh
Setting JVM_64 to
JRE_MEMORY_OPTIONS are -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath= /Oracle/Middleware/cfgtoollogs/opatch
_osArch (from OCM API) is
/usr/java/jdk1.7.0_45/bin/java   -Xmx3072m -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath= /Oracle/Middleware/cfgtoollogs/opatch -cp  /Oracle/Middleware/oui/modules/OraInstaller.jar: /Oracle/Middleware/OPat

解决办法

修改/Oracle/Middleware/oui/.globalEnv.properties 文件中的JAVA_HOME信息即可。

原因

12.2.1.x 环境更新jdk需要修改 .globalEnv.properties文件,12.2.1.x更改jdk不修改globalEnv.properties文件并且原先JAVA_HOME已经删除会报如下错,很明显提示JAVA_HOME错误。

The jdk /usr/java/jdk1.8.0_192 is not accessible.
Please set appropriate JAVA_HOME and run again.

为什么我的环境报如上错误,因为我的环境是weblogic12.1.3,错误的把opatch升级了13.9.4.2.6,这个版本opatch是weblogic12.2.1.3和12.2.1.4的,所以才会出上边的问题,12.1.3打补丁是不需要升级opatch的。

最后

以上就是搞怪金针菇为你收集整理的weblogic打补丁报错OPatch failed with error code 255的全部内容,希望文章能够帮你解决weblogic打补丁报错OPatch failed with error code 255所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(44)

评论列表共有 0 条评论

立即
投稿
返回
顶部