APPLIES TO:
Oracle Database - Enterprise Edition - Version 11.2.0.4 and later
Oracle Database Cloud Schema Service - Version N/A and later
Oracle Database Exadata Express Cloud Service - Version N/A and later
Oracle Database Exadata Cloud Machine - Version N/A and later
Oracle Cloud Infrastructure - Database Service - Version N/A and later
Linux x86-64
SYMPTOMS:
OPatch fails with below error:
$ opatch lsinventory
OPatch cannot continue because it would not be able to load OUI platform dependent library from the directory "/u01/oracle/product/11.2.0.4/db_home/oui/lib/linux". The directory does not exist in the Oracle home.
This could be due to the following reasons.
(1) Incompatible usage of java with OUI (32/64 bit).
(2) Wrong 32-bit Oracle Home installation in 64-bit environment (or) vice-versa.
Please contact Oracle support for more details.
OPatch failed with error code 1
CAUSE:
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
SOLUTION:
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>