Both sides previous revision Previous revision Next revision | Previous revision |
how-to:instant-client-oracle-on-linux [2014/07/17 15:06] – Giuseppe Di Terlizzi | how-to:instant-client-oracle-on-linux [2015/01/27 00:27] (current) – [4. tnsnames.ora e sqlnet.ora] Giuseppe Di Terlizzi |
---|
====== Instant Client Oracle su Linux ====== | ====== Oracle Instant Client su Linux ====== |
| |
Con questa guida spiegherò come installare ed utilizzare l'//Instant Client// Oracle su Linux. | {{http://upload.wikimedia.org/wikipedia/commons/5/50/Oracle_logo.svg?.png?nolink&150 }}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. | 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 [[how-to:php-and-oracle-with-pdo-oci|PHP via PDO]], [[how-to:perl-and-oracle-with-dbi|Perl via DBI]], o amministrarlo o fare delle estrazioni tramite [[http://toradsql.com|tora]]. |
| |
===== Scarichiamo i pacchetti ===== | ===== Scarichiamo i pacchetti ===== |
* **ODBC**: Contiene le librerie per connettersi al DB Oracle via ODBC (~1.2MiB). | * **ODBC**: Contiene le librerie per connettersi al DB Oracle via ODBC (~1.2MiB). |
| |
<div info round center 80%>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</div> | <div info round center 90%>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.</div> |
| |
===== Prepariamo l'ambiente ===== | ===== Installiamo ===== |
| |
==== 1. Scompattiamo ==== | ==== 1. Scompattiamo ==== |
| |
Da utente ''root'' creiamo una directory in ''/opt'': | Da utente ''root'' creiamo una directory in ''/opt'': |
| |
# mkdir /opt/oracle/ | # mkdir -p /opt/oracle/client |
| |
Prendiamo i nostri pacchetti ZIP e li scompattiamo nella directory appena creata: | Prendiamo i nostri pacchetti ZIP e li scompattiamo nella directory appena creata: |
| |
# unzip -d /opt/oracle/ instantclient-{basiclite,sdk,sqlplus,jdbc,odbc}-linux.x64-12.1.0.1.0.zip | # 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 |
| |
==== 2. Variabili d'ambiente ==== | Rinominiamo la directory dell'//Instant Client//: |
| |
Nel prossimo passo è 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: | # mv /opt/oracle/client/instant_client_12_1 /opt/oracle/client/12.1 |
| |
| ==== 2. Sistemiamo i link simbolici ==== |
| |
| 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 |
| |
| ==== 3. Variabili d'ambiente ==== |
| |
| 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: |
| |
<code .bash> | <code .bash> |
export ORACLE_HOME=/opt/oracle/instant_client_12_1 | export ORACLE_HOME=/opt/oracle/client/12.1 |
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME | export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:$ORACLE_HOME |
export PATH=$PATH:$ORACLE_HOME | export PATH=$PATH:$ORACLE_HOME |
</code> | </code> |
| |
==== 3. tnsnames.ora e sqlnet.ora ==== | <div round info center 90%> |
| 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 |
| </div> |
| |
Nel caso abbiamo a disposizione i file ''tnsnames.ora'' e ''sqlnet.ora'' dobbiamo creare la loro directory: | ==== 4. tnsnames.ora e sqlnet.ora ==== |
| |
# mkdir -p /opt/oracle/instant_client_12_1/network/admin | Se abbiamo a disposizione i file ''tnsnames.ora'' e ''sqlnet.ora'', creiamo le loro directory: |
# cp {tnsnames,sqlnet}.ora /opt/oracle/instant_client_12_1/network/admin | |
# chmod 666 /opt/oracle/instant_client_12_1/network/admin/*.ora | |
| |
==== 4. Rifiniture ==== | # 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 |
| |
Nel prossimo passo dobbiamo creare dei //link simbolici// per alcune librerie, in modo che i programmi che ne fanno uso possano trovarle con il //soname// corretto: | ==== 5. Testiamo ==== |
| |
# cd /opt/oracle/instant_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 | |
| |
| |
===== Test ===== | |
| |
Dopo aver installato tutto possiamo testare il corretto funzionamento dell'//Instant Client// tramite //sqlplus//: | Dopo aver installato tutto possiamo testare il corretto funzionamento dell'//Instant Client// tramite //sqlplus//: |
| |
$ sqlplus scott/tiger@ORCL | $ sqlplus scott/tiger@ORCL |
| |
| ===== Slackware ===== |
| |
| 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. |
| |
===== Link utili ===== | ===== Link utili ===== |
* [[http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html|Oracle Instant Client Downloads]] | * [[http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html|Oracle Instant Client Downloads]] |
| |
{{tag>how-to linux oracle}} | {{tag>how-to linux oracle slackware}} |