2016-06-08 9 views
10

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

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

теперь у меня есть следующие файлы в/загрузки/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, так что я могу подключиться к БД из CLI. Инструкции на веб-сайте Oracles кажутся чрезмерно сложными.

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

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

ответ

14

Есть multiple files available for download. Из перечисленных вами файлов вы только загрузили и распаковали пакет «basic».

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

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

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

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

ln -s libclntsh.dylib.12.1 libclntsh.dylib 

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

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

Итак, подведем итог:

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

  2. Download instantclient-basic-macos.x64-12.1.0.2.0.zip и instantclient-sqlplus-macos.x64-12.1.0.2.0.zip

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

  4. Распакуйте оба файла:

    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 
    
  5. Необязательно переименовывать и/или переместить каталог instantclient_12_1 где-то более постоянное.

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

    export PATH=$HOME/Downloads/instantclient_12_1:$PATH 
    
  7. Наслаждайтесь.

    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: 
    

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

+0

Отдайте этот снимок и сообщите об этом, спасибо за информацию. – Ben

+0

Итак, две вещи, которые я хочу уточнить. 1. Я могу удалить все мгновенные клиентские файлы (включая sqlplus) в один каталог? и 2. Я просто зашел в мой профиль bash (в этом случае .zshrc) и добавил путь каталога instantclient к моему $ PATH? Я просто хочу уточнить, потому что он все еще не работает. – Ben

+0

Для (1) да, их нужно разархивировать в один и тот же каталог, чтобы зависимости библиотеки работали. Для (2) вы экспортируете обновленную версию PATH? И можете ли вы запустить 'sqlplus' из каталога, в котором находятся эти файлы, но не где-либо еще? –

 Смежные вопросы

  • Нет связанных вопросов^_^