Cloudera
distribution does not contain the Oracle Instant Client parcel. You must download the Oracle
Instant Client library 19.16 (both basic and SDK clients) from the Oracle
website.
You must install the libaio1
package on all
hosts that run the Hue server.On Ubuntu, run the following command to install the
libaio1
package:
sudo apt-get install libaio1
-
SSH into the Hue server host as a root user.
-
Download the zip files for the Instant Client Package, both Basic and SDK (with
headers)
-
Change directory to /usr/share/oracle.
-
Decompress the downloaded basic and SDK files as follows:
unzip /tmp/instantclient-basiclite-linux.x64-19.16.0.0.0dbru.zip -d .
unzip /tmp/instantclient-sdk-linux.x64-19.16.0.0.0dbru.zip -d .
-
Arrange the client libraries to mirror the tree structure as shown in the
following example:
# Create nested directories: /usr/share/oracle/instantclient/lib/
mkdir -pm 755 /usr/share/oracle/instantclient/lib
# Unzip. The files expand into /usr/share/oracle/instantclient/instantclient_[***VER***]/
unzip '*.zip' -d /usr/share/oracle/instantclient/
# Move lib files from instantclient_[***VER***] to /usr/share/oracle/instantclient/lib/
mv /usr/share/oracle/instantclient/`ls -l /usr/share/oracle/instantclient/ | grep instantclient_ | awk '{print $9}'`/lib* /usr/share/oracle/instantclient/lib/
# Move rest of the files to /usr/share/oracle/instantclient/
mv /usr/share/oracle/instantclient/`ls -l /usr/share/oracle/instantclient/ | grep instantclient_ | awk '{print $9}'`/* /usr/share/oracle/instantclient/
# Create symbolic links. Remember to edit version numbers as necessary
cd /usr/share/oracle/instantclient/lib
ln -s libclntsh.so.[***VER***].1 libclntsh.so
ln -s libocci.so.[***VER***].1 libocci.so
Where, [***VER***] is the version of the Instant Client
Package. Replace [***VER***] with the actual version of the
Instant Client Package.
-
Set the
ORACLE_HOME
and LD_LIBRARY_PATH
environment variables as follows:
export ORACLE_HOME=/usr/share/oracle/instantclient;
export LD_LIBRARY_PATH=/usr/share/oracle/instantclient:$LD_LIBRARY_PATH;