how-to:instant-client-oracle-on-linux

Oracle Instant Client su Linux

Con questa guida vi spiegherò come installare ed utilizzare l'Instant Client Oracle su Linux.

A differenza del Client Oracle (~600MiB), l'Instant Client pesa notevolmente meno e non richiede particolari configurazioni o processi di installazione e pertanto si presta per essere utilizzato in quelle situazioni dove è necessario connettersi ad un DB Oracle in maniera veloce o dove lo spazio sulla nostra macchina non è sufficientemente grande.

Possiamo utilizzare l'Instant Client per connettersi ad un DB Oracle con PHP via PDO, Perl via DBI, o amministrarlo o fare delle estrazioni tramite tora.

Colleghiamoci al sito della Oracle, ed andiamo alla sezione Downloads → Database → Oracle Instant Client e successivamente clicchiamo su Instant Client for Linux x86 (o x86-64, in base alla nostra architettura).

Nella pagina successiva abbiamo la possibilità di scegliere il tipo di pacchetto: Basic, JDBC, SQL*Plus, SDK, ODBC.

  • Basic: Contiene le librerie che permettono alle applicazioni OCI, OCCI e JDBC-OCI di connettersi al DB Oracle (~70MiB).
  • Basic-Lite: Contiene le stesse librerie di Basic ma ha solo la localizzazione per l'Inglese ed il set di caratteri Europei (~30MiB).
  • JDBC: Contiene librerie extra per connettersi al DB Oracle via JDBC (~1.5MiB).
  • SQL*Plus: Contiene il client SQL*Plus e le relative librerie (~0.8MiB).
  • SDK: Contiene gli header necessari per compilare le applicazioni che fanno uso del DB Oracle (~0.6MiB).
  • ODBC: Contiene le librerie per connettersi al DB Oracle via ODBC (~1.2MiB).

Nell'esempio useremo l'ultima versione disponibile dell'Instant Client, ma la stessa procedura può essere applicata anche alle release precedenti che per quelle future.

Da utente root creiamo una directory in /opt:

# mkdir -p /opt/oracle/client

Prendiamo i nostri pacchetti ZIP e li scompattiamo nella directory appena creata:

# for $file in basiclite sdk sqlplus jdbc odbc; do \
    unzip -d /opt/oracle/client instantclient-$file-linux.x64-12.1.0.1.0.zip \
  done

Rinominiamo la directory dell'Instant Client:

# mv /opt/oracle/client/instant_client_12_1 /opt/oracle/client/12.1

Prossimo passo importante, dobbiamo creare dei link simbolici per alcune librerie, in modo che i programmi che ne fanno uso, possano trovarle con il soname corretto:

# cd /opt/oracle/client/12.1
# ln -sf libclntsh.so.12.1 libclntsh.so
# ln -sf libclntshcore.so.12.1 libclntshcore.so
# ln -sh libocci.so.12.1 libocci.so

Adesso è necessario settare le variabili d'ambiente per fare in modo che l'Instant Client funzioni correttamente. Aggiungiamo al ~/.bash_profile (o ~/.profile) dell'utente che utilizzerà l'Instant Client le seguenti variabili d'ambiente:

  export ORACLE_HOME=/opt/oracle/client/12.1
  export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME
  export PATH=$PATH:$ORACLE_HOME

Al posto della variabile d'ambiente LD_LIBRARY_PATH possiamo aggiungere il path dell'Instant Client in /etc/ld.so.conf e successivamente ricreare la cache delle librerie lanciando da root :

# ldconfig

Se abbiamo a disposizione i file tnsnames.ora e sqlnet.ora, creiamo le loro directory:

# mkdir -p /opt/oracle/client/12.1/network/admin
# cp {tnsnames,sqlnet}.ora /opt/oracle/client/12.1/network/admin
# chmod 666 /opt/oracle/client/12.1/network/admin/*.ora

Dopo aver installato tutto possiamo testare il corretto funzionamento dell'Instant Client tramite sqlplus:

$ sqlplus scott/tiger@ORCL

Per gli utilizzatori di Slackware è disponibile all'indirizzo http://lotar.altervista.org/slackbuilds/?dir=/oracle-instantclient/build lo SlackBuild per creare il pacchetto compatibile con il tool di gestione dei pacchetti di Slackware. Per maggiori informazioni è disponibile un README con le istruzioni per il build del pacchetto.

  • how-to/instant-client-oracle-on-linux.txt
  • Last modified: 9 years ago
  • by Giuseppe Di Terlizzi