Jump to content
From ArchWiki

This document will explain how to install the Oracle database client under Arch Linux. The client is used to connect to Oracle databases running on other machines.

## Installation

### Unofficial repository

By far the easiest method is to use the unofficial Arch packages, as this allows the Oracle client to be installed and upgraded like any other program in the Arch repositories.

In order to use this method, you must agree to the Oracle Technology Network Development and Distribution License Terms for Instant Client and also trust the person who created these unofficial packages.

See Unofficial user repositories#oracle.

The newly available packages will be prefixed with `oracle` and can be found with a package search (they have the same names as the AUR packages below). Install oracle-instantclient-basicAUR along with any others needed, then you will need to re-source the profile script in any open shells, in order to pick up the newly added environment variables. Without this, some programs will complain that they cannot find the Oracle client.

    source /etc/profile

This sets `$ORACLE_HOME` to `/usr`. You should place your `tnsnames.ora` into `/etc`.

### AUR

An alternative is to use the build scripts in the AUR. Due to the way Oracle provides downloads of their software, the files cannot be retrieved automatically. You must download the necessary .zip files manually and place them in the same directory as the PKGBUILD from AUR, before running `makepkg`. You will need an Oracle account before you can log in and download the .zip files.

#### Relevant packages

The packages required from the AUR are:

- oracle-instantclient-basicAUR - core Oracle client, required by all the other packages and any precompiled binaries using the native Oracle API
- oracle-instantclient-sdkAUR - C header files, required to compile software that accesses Oracle using the native API
- oracle-instantclient-sqlplusAUR - SQL*Plus command line utility
- oracle-instantclient-odbcAUR - UnixODBC connectivity
- oracle-instantclient-jdbcAUR - Java connectivity
- oracle-instantclient-toolsAUR - Data Pump, SQL*Loader and Workload Replay Client

#### Installation paths

When using the packages in the AUR, the TNSNAMES file should be saved as `/etc/tnsnames.ora`. `ORACLE_HOME` should be set automatically to `/usr` in any new shells opened after the install, courtesy of `/etc/profile.d/oracle.sh`.

## gqlplus

After installing sqlplus, you might also want to install gqlplusAUR, a frontend to sqlplus that adds command history and tab completion.

Categories:

- Database management systems
- Oracle