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>

Recent Posts

Start typing and press Enter to search