Перейти к основному содержанию
 

Установка Oracle Instant Client на Ubuntu

Ubuntu

Данный кусок статьи был выдран из инета и размещён как есть. Перевод любительский. Работоспособность не гарантируется, но нашим админам он помог в настройке 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

 

Теги