Данный кусок статьи был выдран из инета и размещён как есть. Перевод любительский. Работоспособность не гарантируется, но нашим админам он помог в настройке Oracle Instant Client на Ubuntu. Сам не настраивал.
Install RPMs
Скачиваем Oracle Instant Client RPM файлы с http://www.oracle.com/technetwork/database/database-technologies/instant-client/downloads/index.html.
Конвертируем .rpm файлы в .deb пакеты и устанавливаем с помощью "alien".
sudo apt-get install alien
Например, для версии 12.1.0.2.0-1 for Linux x86_64 (64-bit):
alien -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
alien -i oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
alien -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
Проверьте установку. Используйте "sqlplus" или "sqlplus64" для проверки соединения с БД:
sqlplus username/password@//dbhost:1521/SID
Можно попасть на ошибку:
sqlplus: command not found
В этом случае читайте ниже про ORACLE_HOME.
Если sqlplus не может найти файл libsqlplus.so, то читайте ниже про Integrate Oracle Libraries.
Если sqlplus не может найти файл libaio.so.1, выполните:
sudo apt-get install libaio1
Или, если у вас 32-битный клиент:
sudo apt-get install libaio1:i386
Integrate Oracle Libraries
Если sqlplus не может найти библиотеки, вы можете добавить Oracle Libraries в переменную LD_LIBRARY_PATH:
export LD_LIBRARY_PATH=/usr/lib/oracle/<version>/client(64)/lib/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
Например, версия 12.1 для Linux x86_64:
export LD_LIBRARY_PATH=/usr/lib/oracle/12.1/client64/lib/${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
Или добавьте в системные библиотеки:
sudo vi /etc/ld.so.conf.d/oracle.conf && sudo chmod o+r /etc/ld.so.conf.d/oracle.conf
И пропишите путь первой строкой, например:
/usr/lib/oracle/12.1/client64/lib/
или
/usr/lib/oracle/11.2/client/lib/
Запустите ldconfig:
sudo ldconfig
ORACLE_HOME
Многие оракловые приложения ищут свой софт в переменной 'ORACLE_HOME'.
sudo sudo vi /etc/profile.d/oracle.sh && sudo chmod o+r /etc/profile.d/oracle.sh
Добавляем:
export ORACLE_HOME=/usr/lib/oracle/<version>/client(64)
Например:
export ORACLE_HOME=/usr/lib/oracle/12.1/client64
Или каждый пользователь может переопределить переменную в ~/.bash_profile.
Примечание: с ubuntu 11.04 (и 14.04) sqlplus не находится без строки в oracle.sh:
export PATH=$PATH:$ORACLE_HOME/bin
SDK fix
Некоторые сборки могут требовать 'oci.h' в $ORACLE_HOME/include, или в $ORACLE_HOME/rdbms/public
Instant client иногда размещает include файлы, такие как oci.h, в /usr/include/oracle/<version>/client.
Проверьте:
ls $ORACLE_HOME
ls -d /usr/include/oracle/*/client*/*
Если там нет папки 'include' ниже ORACLE_HOME, и она расположена в /usr/include/oracle/ , создайте символическую ссылку:
sudo ln -s /usr/include/oracle/11.2/client $ORACLE_HOME/include
или
sudo ln -s /usr/include/oracle/12.1/client64 $ORACLE_HOME/include
Проверьте:
ls $ORACLE_HOME
Ссылки
Установка Oracle Instant Client с ODBC на Windows Server 2016