Oracle Instant Client is a free Oracle database client. The current version is, and several versions back to are available.

Install RPMs

  • Download the Oracle Instantclient RPM files from Everyone needs either "Basic" or "Basic lite", and most users will want "SQL*Plus" and the "SDK".

  • Convert these .rpm files into .deb packages and install using "alien" ("sudo apt-get install alien" if you don't have it).

  • For example, for version for Linux x86_64 (64-bit):
    alien -i oracle-instantclient12.1-basic-
    alien -i oracle-instantclient12.1-sqlplus-
    alien -i oracle-instantclient12.1-devel-
  • Test your Instantclient install by using "sqlplus" or "sqlplus64" to connect to your database:

sqlplus username/password@//dbhost:1521/SID

If you execute sqlplus and get "sqlplus: command not found", see the section below about adding the ORACLE_HOME variable.

If sqlplus complains of a missing file, follow the steps in the section "Integrate Oracle Libraries" below.

If sqlplus complains of a missing file, run

sudo apt-get install libaio1

or, if you're installing the 32 bit instant client on 64 bit,

sudo apt-get install libaio1:i386

Integrate Oracle Libraries

If oracle applications, such as sqlplus, are complaining about missing libraries, you can add the Oracle libraries to the LD_LIBRARY_PATH each time it is used:

export LD_LIBRARY_PATH=/usr/lib/oracle/<version>/client(64)/lib/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}

For example, 12.1 version for Linux x86_64:

export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}

or to add it to the system library list create a new file as follows:

sudo vi /etc/ && sudo chmod o+r /etc/
  • and add the oracle library path as the first line. For example,

  • or

  • Then run ldconfig:

sudo ldconfig


Many Oracle database applications look for Oracle software in the location specified in the environment variable 'ORACLE_HOME'.

Typical workstations will only have one Oracle install, and will want to define this variable in a system-wide location.

sudo sudo vi /etc/profile.d/ && sudo chmod o+r /etc/profile.d/ 

Add the following:

export ORACLE_HOME=/usr/lib/oracle/<version>/client(64)

For example

export ORACLE_HOME=/usr/lib/oracle/12.1/client64

Alternatively, each user can define this in their ~/.bash_profile

Note: From Ubuntu 11.04 (confirmed in 11.04 and 14.04) sqlplus was not recognized as a command unless the following line was also included in the file:


SDK fix

Some packages may look for 'oci.h' in $ORACLE_HOME/include, or in $ORACLE_HOME/rdbms/public

The instant client sometimes places the include files, such as oci.h, in /usr/include/oracle/<version>/client.

Inspect your system by running the following commands

ls -d /usr/include/oracle/*/client*/*

If there is no 'include' directory under ORACLE_HOME, and it is located over in /usr/include/oracle/ , create a symbolic link to assist packages looking for these header files. For example,

sudo ln -s /usr/include/oracle/11.2/client $ORACLE_HOME/include


sudo ln -s /usr/include/oracle/12.1/client64 $ORACLE_HOME/include

And then check it is correct


Oracle Instant Client (last edited 2015-10-07 18:50:02 by J.D. Laub)