Как установить Oracle Instant Client на Mac?

Как установить Oracle Instant Client версии 12.1.0.2 (64-разрядная версия) на Mac (OS X 10.11.5)

Я загрузил версию 12.1.0.2 (64-разрядную) и распаковал файл.

Теперь у меня есть следующие файлы под /downloads/instantclient:

libclntsh.dylib.12.1
libclntshcore.dylib.12.1
libnnz12.dylib
libocci.dylib.12.1
libociei.dylib
libocijdbc12.dylib
libons.dylib
liboramysql12.dylib
ojdbc6.jar
ojdbc7.jar
uidrvci
xstreams.jar
adrci
BASIC_README
genezi

У меня нет ни малейшего представления, как перейти от этой версии к рабочей версии Instant Client, чтобы я мог подключиться к db из CLI. Инструкции на веб-сайте Oracles кажутся чрезмерно сложными.

Я нашел несколько блогов, в которых подробно описывается метод установки, но все они выглядят из предыдущей версии Instant Client. Из отчаяния я загрузил предыдущую версию Instant Client, но все еще, казалось, отсутствовали файлы, упомянутые в учебнике.

Кто-нибудь знает, как я могу получить Oracle Instant Client на моем Mac?

Ответ 1

Есть несколько файлов, доступных для загрузки. Из перечисленных вами файлов вы только загрузили и распакули пакет "basic".

Чтобы запустить CLI (по которому я предполагаю, что вы имеете в виду SQL * Plus), вам также нужен этот пакет - четвертый в списке под названием "Instant Client Package - SQL * Plus: дополнительные библиотеки и исполняемый файл для запуска SQL * Plus с Instant Client".

Пакеты организованы таким образом, что если вы распакуете все те, которые вам нужны, с одного места, все они помещают свои файлы в один каталог. К сожалению, это не совсем сработает, если вы используете Safari и имеете возможность открывать определенные загруженные файлы; каждый zip файл расширяется в отдельную папку с увеличенными именами. И после этого он удаляет zip файлы.

Вы можете отключить автоматическую распаковку и сделать это вручную или скопировать файлы из отдельных папок в общий.

Возможно, вам также понадобится создать символическую ссылку для основной клиентской библиотеки; изнутри этой папки (в терминале) вы бы сделали:

ln -s libclntsh.dylib.12.1 libclntsh.dylib

Вы можете поместить эту комбинированную папку в любом месте. Затем вам нужно добавить полный путь к этой папке в переменную PATH и среды - вы можете добавить это в свой .bash_profile, чтобы вам не нужно было делать это вручную.

Как только вы это сделаете, вы можете выполнить sqlplus из любого места.

Итак, суммируем:

  • Если вы используете Safari, отключите автоматическое открытие zip файлов; из Safari- > Preferences- > General отключите флажок "Открывать" безопасные "файлы после загрузки".

  • Загрузить instantclient-basic-macos.x64-12.1.0.2.0.zip и instantclient-sqlplus-macos.x64- 12.1.0.2.0.zip

  • В терминале перейдите в каталог "Загрузки".

  • Разархивируйте оба файла:

    MacBook:Downloads alex$ unzip instantclient-basic-macos.x64-12.1.0.2.0.zip
    Archive:  instantclient-basic-macos.x64-12.1.0.2.0.zip
      inflating: instantclient_12_1/BASIC_README  
      inflating: instantclient_12_1/adrci  
      inflating: instantclient_12_1/genezi  
      inflating: instantclient_12_1/libclntsh.dylib.12.1  
      inflating: instantclient_12_1/libclntshcore.dylib.12.1  
      inflating: instantclient_12_1/libnnz12.dylib  
      inflating: instantclient_12_1/libocci.dylib.12.1  
      inflating: instantclient_12_1/libociei.dylib  
      inflating: instantclient_12_1/libocijdbc12.dylib  
      inflating: instantclient_12_1/libons.dylib  
      inflating: instantclient_12_1/liboramysql12.dylib  
      inflating: instantclient_12_1/ojdbc6.jar  
      inflating: instantclient_12_1/ojdbc7.jar  
      inflating: instantclient_12_1/uidrvci  
      inflating: instantclient_12_1/xstreams.jar  
    MacBook:Downloads alex$ unzip instantclient-sqlplus-macos.x64-12.1.0.2.0.zip
    Archive:  instantclient-sqlplus-macos.x64-12.1.0.2.0.zip
      inflating: instantclient_12_1/SQLPLUS_README  
      inflating: instantclient_12_1/glogin.sql  
      inflating: instantclient_12_1/libsqlplus.dylib  
      inflating: instantclient_12_1/libsqlplusic.dylib  
      inflating: instantclient_12_1/sqlplus  
    
  • При необходимости переименуйте и/или переместите каталог instantclient_12_1 куда-то более постоянным.

  • Добавьте местоположение в свой путь в текущем сеансе, а также в файл/файл профиля оболочки, чтобы он вступил в силу для каждого входа:

     export PATH=$HOME/Downloads/instantclient_12_1:$PATH
    
  • Enjoy.

    MacBook:Downloads alex$ export PATH=$HOME/Downloads/instantclient_12_1:$PATH
    MacBook:Downloads alex$ which sqlplus
    /Users/alex/Downloads/instantclient_12_1/sqlplus
    MacBook:Downloads alex$ sqlplus
    
    SQL*Plus: Release 12.1.0.2.0 Production on Thu Jun 9 16:29:49 2016
    
    Copyright (c) 1982, 2016, Oracle.  All rights reserved.
    
    Enter user-name: 
    

El Capitan добавила защиту целостности системы (SIP), и один из побочных эффектов заключается в том, что экспорт DYLD_LIBRARY_PATH не работает. Это может повлиять на запуск SQL * Plus из оболочки script, например. обходные пути для мгновенного клиента 11g. Замечания по установке в нижней части страницы загрузки изменились с тех пор, как я последний раз это сделал, и теперь он говорит, что жестко связывает файлы библиотеки с пользовательским каталогом ~/lib, чтобы избежать этой проблемы. К счастью, похоже, что вам не нужно беспокоиться об этом с клиентом 12c - они исправили способ его создания.

Ответ 2

Доморощенный спас меня. Я не выясняю путь окружающей среды.

1. Загрузите два файла ниже из http://www.oracle.com/technetwork/topics/intel-macsoft-096467.html.

Это необходимо из-за лицензий Oracle.

instantclient-basic-macos.x64–11.2.0.4.0.zip и instantclient-sqlplus-macos.x64–11.2.0.4.0.zip

Поместите файлы в ~/Library/Caches/Homebrew


PS:

в последних версиях HomeBrew замените вышеуказанное местоположение ~/Library/Caches/HomeBrew на ~/Library/Caches/HomeBrew/downloads.

А также переименуйте загруженные файлы с именами, предложенными HomeBrew.

Спасибо @manuka_m


2. Затем выполните следующие команды

$ brew tap InstantClientTap/instantclient

$ brew install instantclient-basic

$ brew install instantclient-sqlplus

Происходит от Йоста ван Воллингена Дока

Ответ 3

В SQLdeveloper вы найдете SQLplus, который работает "из коробки", как в Windows.

SQLDeveloper example

(Должно начаться так)

Если вы переместите приложение в "Приложение" и сможете запустить SQLdeveloper-client, вы не сможете его здесь напечатать, он называется sql:

/Applications/SQLDeveloper.app/Contents/Resources/sqldeveloper/sqldeveloper/bin/sql

Чтобы напрямую войти в систему, запустите sql и выйдите:

sql username/[email protected]_TO_DB:1521/SID @/path/to/your/pls_file_containing_sql/test.pls

Не забудьте включить "выход"; в конце вашего pls файла.