Oracle Instant Client
consente di connettersi ad un database Oracle
senza richiedere un'installazione completa di SQL*Net.
Utilizzare Oracle Instant Client e' il modo piu' facile per
configurare l'accesso all'RDBMS Oracle per diversi linguaggi di programmazione
(eg. PHP, Perl, ...), dalle applicazioni (eg. Pro*C, OCI), con i diversi
driver (eg. JDBC, ODBC) e con gli stessi tool Oracle (eg. SQL*Plus).
Questo documento presenta gli aspetti principali di Oracle Instant Client:
Installazione,
Utilizzo,
Architettura,
e per finire un po' di
Storia,
...
La versione di riferimento utilizzata in questo documento e' la 12c
[NdA la versione utilizzata al momento della scrittura di questo documento e' la 12.1
ma il documento e' aggiornato fino alla piu' recente 19.3].
Installare Oracle Instant Client e' molto facile perche' si tratta semplicemente di una serie di file contenuti in una directory. Per MS-Windows si utilizza un file .zip mentre sulle principali distribuzioni Linux (eg. RedHat, Fedora, CentOS, ...) sono disponibili file .rpm.
Una volta effettuato il download dal sito ufficiale basta lanciare il comando [NdE esempio per linux a 64bit]:
Gia' fatto! Ora si puo' utilizzare...
Per utilizzare Oracle Instant Client e' sufficiente la sola impostazione di una variabile d'ambiente:
I passi successivi dipendono dal linguaggio di programmazione/applicazione/tool utilizzato e sono analoghi a quelli richiesti per accedere via SQL*Net.
A differenza dell'SQL*Net, che richiede l'impostazione delle variabili ORACLE_HOME o TNS_ADMIN per individuare i file tnsnames.ora e sqlnet.ora, Oracle Instant Client utilizza una stringa di connessione diretta:
La porta e' tipicamente la 1521 mentre il servizio corrisponde al SID dell'istanza Oracle.
Un'ultima nota... ma importante: Instant Client e' completamente gratuito e di libero utilizzo.
Oracle Instant Client installa le librerie Client per l'accesso alla base dati Oracle. Instant Client puo' essere utilizzato per applicazioni OCI, OCCI, Pro*C, JDBC e ODBC senza installare un Oracle Client completo. Inoltre Instant Client supporta il tool SQL*Plus. Oracle Instant Client contiene anche i driver JDBC piu' recenti. Poiche' la maggioranza dei driver utilizzati dai piu' recenti linguaggi di programmazione sono applicazioni OCI, le librerie di Instant Client sono utilizzabili anche da Perl, PHP, Python, ...
Dal punto di vista architetturale non vi e' alcuna differenza tra una connessione SQL*Net ed una connessione Instant Client. Con Oracle ogni accesso al database sul server viene creata una sessione, tipicamente implementata come processo oracle:
Dal punto di vista dell'interoperabilita' delle versioni Oracle tra client e server vale la stessa matrice di compatibilita' di SQL*Net.
Alcune funzionalita' specifiche di SQL*Net non sono disponibili con Instant Client. Ma si tratta di funzionalita' verticali necessarie con configurazioni particolari. In questi casi e' necessario utilizzare un'installazione completa di SQL*Net.
Oracle e' stato un pioniere tra i database relazionali. Oracle e' stato il primo a realizzare l'accesso in Client/Server ai dati. L'SQL*Net e' disponibile dal 1985. La versione 2 di SQL*Net, disponibile dalla versione Oracle 7 nel 1992 ha introdotto ulteriori funzionalita' tra cui l'implementazione completa del Two Phase Commit (2PC) per la gestione delle transazioni distribuite.
Oracle distribuisce da tempo JDBC driver per l'accesso alla base dati [NdE 1996].
Oracle Instant Client e' disponibile dalla versione 10g di Oracle [NdE 2004] ed ha rappresentato un notevole vantaggio per la distribuzione dei driver perche', a differenza del Client SQL*Net, ha una licenza d'uso molto libera.
Per l'installazione il sistema Linux di preferenza e' Oracle Linux. Con Fedora/Red Hat/CentOS le differenze sono minime. E' possibile l'installazione anche con Ubuntu e, utilizzando gli .zip, virtualmente su ogni Linux [NdA tutti i file per i diversi sistemi operativi sono disponibili sul sito Oracle].
Titolo: Oracle Instant Client
Livello: Medio
Data: 14 Luglio 2014
Versione: 1.0.3 -
31 Ottobre 2019 🎃 Halloween
Autore: mail [AT] meo.bogliolo.name