Понадобился Oracle InstantClient для скриптов на Python/Perl, да и вообще чтобы был, т.к. со своего ноутбука запускал SQL/PLSQL скрипты в "самосборном lite" клиенте Oracle 9i для Windows через Wine. Извращение подумаете Вы? Но работает! :)
Итак, Oracle 9i поставить на Linux Mint 18 скорее всего уже невозможно (из-за сильной несовместимости библиотек, версии ядра и пр. пр.), да даже честно говоря и не охота пробовать, есть на что время потратить. Максимальная версия клиента Oracle который может работать с сервером Oracle 9i это - версия 11.2, вот ее и будем ставить.
Скачиваем собственно сам клиент и sqlplus с сайта Oracle, файлы:
instantclient-basic-linux.x64-11.2.0.4.0.zip
instantclient-sqlplus-linux.x64-11.2.0.4.0.zip
Ну или ищем в интернете, например есть на github.com/f00b4r/oracle-instantclient
Далее ставим:
## вроде как необходимо установить, у меня уже стояла
sudo apt install libaio1
## создаем директорию и распаковывем в нее instantclient и sqlplus
sudo mkdir -p /opt/oracle
sudo unzip -x instantclient-basic-linux.x64-11.2.0.4.0.zip -d /opt/oracle/
sudo unzip -x instantclient-sqlplus-linux.x64-11.2.0.4.0.zip -d /opt/oracle/
## копируем свой файл tnsnames.ora в папку instantclient
sudo mkdir -p /opt/oracle/instantclient_11_2/network/admin/
sudo cp tnsnames.ora /opt/oracle/instantclient_11_2/network/admin/
## настраивем переменные окружения
echo export ORACLE_HOME=/opt/oracle/instantclient_11_2 >> ~/.bashrc
echo export LD_LIBRARY_PATH=/opt/oracle/instantclient_11_2 >> ~/.bashrc
echo export PATH=$ORACLE_HOME:$PATH >> ~/.bashrc
source ~/.bashrc
## проверка
sqlplus -S /nolog <<EOF
conn my_schema/my_schema_password@my_ora9tns
select banner from v\$version;
EOF
BANNER
----------------------------------------------------------------
Oracle9i Enterprise Edition Release 9.2.0.7.0 - Production
PL/SQL Release 9.2.0.7.0 - Production
CORE 9.2.0.7.0 Production
TNS for Linux: Version 9.2.0.7.0 - Production
NLSRTL Version 9.2.0.7.0 - Production
PS: Вроде так, восстанавливал ход событий по .bash_history
UPDATE: Иногда для компиляции каких-то программ или пакетов требуются заголовчные файлы, установим InstantClient 11.2 SDK
# Устанавливем InstantClient 11.2 SDK
mkdir /tmp/orasdk && cd $_
wget https://github.com/f00b4r/oracle-instantclient/raw/master/instantclient-sdk-linux.x64-11.2.0.4.0.zip
sudo unzip instantclient-sdk-linux.x64-11.2.0.4.0.zip *include* -d /opt/oracle
# Делаем симлинки на библиотеки
cd $ORACLE_HOME
sudo ln -s libclntsh.so.11.1 libclntsh.so
sudo ln -s libocci.so.11.1 libocci.so
Ссылки:
- Oracle InstantClient
Комментариев нет:
Отправить комментарий