2016-06-08 47 views
10

Come installare Oracle Instant Client Versione 12.1.0.2 (64-bit) su un Mac (OS X 10.11.5)Come installare Oracle Instant Client su un Mac?

Ho scaricato la versione 12.1.0.2 (64-bit) e ho decompresso il file.

mi hanno ora i seguenti file sotto/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 

non ho la minima idea di come passare da questo a una versione funzionante di Instant Client in modo da poter connettersi a un db dalla CLI. Le istruzioni sul sito Web di Oracles sembrano essere eccessivamente complicate.

Ho trovato alcuni blog che descrivono in dettaglio il metodo di installazione, ma sembrano tutti provenire dalla versione precedente di Instant Client. Per disperazione, ho scaricato una versione precedente di Instant Client, ma sembra che manchi ancora i file indicati nel tutorial.

Qualcuno sa come posso ottenere Oracle Instant Client sul mio Mac?

risposta

14

Ci sono multiple files available for download. Dai file che hai elencato hai scaricato e decompresso solo il pacchetto 'base'.

Per eseguire la CLI (da cui presumo si intenda SQL * Plus) è necessario anche quel pacchetto - il quarto nell'elenco, denominato "Pacchetto client istantaneo - SQL * Plus: librerie aggiuntive ed eseguibili per l'esecuzione di SQL * Plus con Instant Client ".

I pacchetti sono disposti in modo tale che se si decomprimono tutti quelli necessari dallo stesso posto, tutti mettono i loro file nella stessa directory. Sfortunatamente ciò non funziona se si utilizza Safari e si è impostato per aprire determinati file scaricati; ogni file zip viene espanso in una cartella separata, con nomi incrementati. E cancella i file zip in seguito.

È possibile disattivare la decompressione automatica e farlo manualmente oppure copiare i file dalle singole cartelle in uno comune.

Potrebbe anche essere necessario creare un collegamento simbolico per la libreria client principale; da dentro quella cartella (in Terminal) si dovrebbe fare:

ln -s libclntsh.dylib.12.1 libclntsh.dylib 

Si può mettere quella cartella combinato ovunque lo desideri. È quindi necessario aggiungere il percorso completo a tale cartella al PATH e alla variabile di ambiente, che è possibile aggiungere a .bash_profile in modo da non doverlo eseguire manualmente.

Una volta terminato, è possibile eseguire sqlplus da qualsiasi posizione.

Quindi, per riassumere:

  1. Se stai usando Safari, disattivare l'apertura automatica dei file zip; da Safari-> Preferenze-> Generale deselezionare la casella di controllo "Apri" sicuro "dopo il download".

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

  3. In Terminal andare nella directory di download.

  4. Unzip entrambi i file:

    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. Opzionalmente rinominare e/o spostare la directory instantclient_12_1 da qualche parte più permanente.

  6. aggiungere la posizione al percorso nella sessione corrente, e anche nel file di profilo/risorsa shell per renderlo abbia effetto su ogni login:

    export PATH=$HOME/Downloads/instantclient_12_1:$PATH 
    
  7. godere.

    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 aggiunti protezione dell'integrità del sistema (SIP), e un effetto collaterale di ciò è che l'esportazione DYLD_LIBRARY_PATH non funziona. Ciò potrebbe influire sull'esecuzione di SQL * Plus da uno script di shell, ad esempio. Ci sono workarounds per il client istantaneo 11g. Le note di installazione nella parte inferiore della pagina di download sono cambiate dall'ultima volta che l'ho fatto e ora dice di collegare i file della libreria alla directory ~/lib dell'utente per evitare questo problema. Fortunatamente sembra che non ci si debba preoccupare di questo con il client 12c - hanno risolto il modo in cui è stato costruito.

+0

Darà a questo uno scatto e riferire, grazie per le informazioni. – Ben

+0

Quindi due cose che voglio chiarire. 1. Posso rilasciare tutti i file client istantanei (incluso sqlplus) in una singola directory? e 2. Vado nel mio profilo bash (in questo caso .zshrc) e aggiungo il percorso della directory instantclient al mio $ PATH? Voglio solo chiarire perché non funziona ancora. – Ben

+0

Per (1) sì, devono essere decompressi nella stessa directory, affinché le dipendenze della libreria funzionino. Per (2) stai esportando il PATH aggiornato? E puoi usare 'sqlplus' dalla directory in cui si trovano quei file, ma non da nessun'altra parte? –