Install and Configure Oracle Instant Client for SnapLogic SQL*Loader on Linux

Overview

The SnapLogic Oracle Bulk Load Snap relies on Oracle’s SQL*Loader utility, which requires the Oracle client libraries. The Oracle Instant Clientprovides an alternative to the full Oracle Database Client and is fully supported with SQL*Loader when the required packages are installed.

The procedure below describes how to install and configure the Oracle Instant Client (Basic and Tools packages) on Linux Groundplex nodes, enabling SQL*Loader to be invoked by the Oracle Bulk Load Snap.

Pre-requisites

  • Linux server with root or sudo privileges
  • SnapLogic Groundplex installation
  • Appropriate rights to install OS packages
  • Access to Oracle Instant Client downloads
  • The libaio system library (required by OCI)

Installation steps (Linux ZIP Packages)

Create the installation directory using the specified commands. Since only the root user has permission to create directories under /opt, perform this step as root. Then grant snapuser access to the Oracle client libraries.

sudo mkdir -p /opt/oracle sudo chown -R snapuser:snapuser /opt/oracle sudo chmod -R 755 /opt/oracle

Download the basic package Basic Instant Client ZIP file from Oracle’s official download site. The latest supported Oracle Instant Client version must be installed based on the OS architecture. The recommended versionis instantclient-basic-linux.x64-23.26.0.0.0. Confirm with your administrator which version is compatible with your operating system architecture, then download the appropriate file fromhttps://www.oracle.com/in/database/technologies/instant-client/downloads.html. For example, if you are using 64-bit Ubuntu, you should download the Instant Client for Linux x86-64.

Unzip the Basic package using the command unzip instantclient-basic-linux.x64_21_4.zip -d /opt/oracle. This creates a subdirectory specific to the Oracle Instant Client example,instantclient_21_4.

  1. Install the operating system dependency using the provided commands, which provide the asynchronous I/O support required by the OCI libraries. sudo yum install libaio for RHEL/CentOS/Oracle Linux

  2. sudo apt update sudo apt install -y libaio1 for Debian/Ubuntu-based systems

Configure the Dynamic Linker: SQL*Loader (sqlldr) depends on shared libraries like libclntsh and liboci, which are located in the Oracle Instant Client directory (for example, /opt/oracle/instantclient_21_4). By default, Linux may not automatically recognize this directory. If the libraries are not registered, Oracle tools may fail to start with shared library errors. To ensure the system can locate these libraries, add the Instant Clientdirectory to the linker configuration.

Add the Instant Client directory to the linker configurationusing sudo sh -c "echo /opt/oracle/instantclient_21_4 > /etc/ld.so.conf.d/oracle-instantclient.conf". This informs the system where the Oracle shared libraries are installed.

Update Linker Cache using sudo ldconfig. This refreshes the system’s library cache so the new path is recognized.

Verify the Libraries are registered ldconfig -p | egrep 'libclntsh|liboci'. You can view the Oracle shared libraries listed in the output. This ensures Oracle tools such as sqlldr run successfully without library-related errors.

Install SQL*Loader (Tools Package).

Download the Tools Package.

Unzip the Tools Package unzip instantclient-tools-linux.x64_21_4.zip -d /opt/oracle. This places sqlldr into: /opt/oracle/instantclient_21_4/sqlldr.Unzip instantclient-tools-linux.x64-23.26.0.0.0.zip. You may see a prompt to replace existing files. Select A(replace all) as a safe option. There are three files inside the META-INF folder with the same names as those in the tools zip. Since both the basic and tools packages are of the same version (ex, 23.26.0.0.0), you can overwrite them.


Oracle Instant Client installation

Update the PATH Environment Variable Add the Instant Client directory to the PATH and restart JCC (replace <version> with your installed version, e.g., 21_4, 23_26):

export PATH=/opt/oracle/instantclient_<version>:$PATH

Configure this in one of the following locations:

  1. ~snapuser/.bashrc – For non-login interactive shell sessions. Run source ~/.bashrc or reopen the terminal.

  2. ~snapuser/.bash_profile – For login shell sessions. Log out and log back in.

  3. /etc/sysconfig/jcc – SnapLogic jcc.sh service configuration file

Restart JCC after making the changes jcc.sh restart.

Ensure that the Tools package version matches the Basic package version exactly. Example filename:instantclient-tools-linux.x64_21_4.zip

Post installation steps

  • Confirm that SQL*Loader executes sqlldr -h successfully. If the SQL*Loader runs and displays help text, the installation is complete.
  • Once the Oracle Instant Client and SQL*Loader are installed, configure the Oracle - Bulk Load Snap.
    • You do not need to set the Sqlldr absolute path in the Snap since PATH is configured globally.
    • To set it explicitly, use: /opt/oracle/instantclient_21_4/sqlldr
    • The Snap automatically uses SQL*Loader for high-performance bulk loading.