Oracle-OPatch工具执行命令时提示不能加载OUI库

参考链接

OPatch Cannot Continue Because it Would not be Able to Load OUI Platform Dependent Library from the Directory "$ORACLE_HOME/oui/lib/linux" (Doc ID 2102647.1)

原因

Wrong java version used, 32 bit JDK was installed in 64 bit Oracle Home, executing opatch in debug mode shows opatch is considering OS as 32 bit OS.

 $export OPATCH_DEBUG=true

$opatch version
OPatch was not able to set FMW_COMPONENT_HOME by itself.
Machine Info: Linux Test 3.0.101-0.47.55-xen #1 SMP Thu May 29 08:25:11 UTC 2015 (dc083ee) x86_64 x86_64 x86_64 GNU/Linux
**_osArch is i386         ( pay attention to this line)**
_javaVMSpecVersion is 1.0
_javaVMSpecVendor is Sun Microsystems Inc.
_javaVMSpecName is Java Virtual Machine Specification
_javaVMVendor is Sun Microsystems Inc.
_javaJRESpecVersion is 1.5

处理

First verify that you are using correct version of opatch and then Verify the "$ORACLE_HOME/oui/lib/" directory as shown below:

#For 32 bit Oracle Home , you will see below output

$ls -lart $ORACLE_HOME/oui/lib/
linux

#For 64 bit Oracle Home , you will see below output

$ls -lart $ORACLE_HOME/oui/lib/
linux64

Opatch is expecting linux folder but you will see a linux64 bit folder, which means Opatch is considering OS as 32 bit

Check Java version used in Oracle Home with below command

$ORACLE_HOME/jdk/bin/java -version

java version "1.5.0_51"
Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_51-b10)
Java HotSpot(TM) 64-Bit Server VM (build 1.5.0_51-b10, mixed mode)

Above output shows 64 bit Java version , if you dont see 64 bit Java installed , Install 64 bit JDK

You can also copy the $ORACLE_HOME/jdk/ from any other working server with the same Java version and bit.

Or alternatively you can use below command to use JDK from alternate location:

opatch lsinventory -jdk <path_to_64_bit_jdk>
原文地址:https://www.cnblogs.com/binliubiao/p/15002001.html