Oracle instant client
Oracle instant client per Debian GNU/Linux
Installare le libaio:
sudo apt-get install libaio-dev
Scaricare dal sito oracle i pacchetti:
- instantclient-basic-linux-11.2.0.3.0.zip
- instantclient-sdk-linux-11.2.0.3.0.zip
- instantclient-sqlplus-linux-11.2.0.3.0.zip
(e' richiesta la registrazione)
Scompattarli in /opt/oracle
Creare il file:
/etc/ld.so.conf.d/oracle.conf
con un'unica riga: il path dove sono scompattati i pacchetti, ad esempio: /opt/oracle/instantclient_11_2/
Lanciare
sudo ldconfig -v
ruby-oci8
E' la gemma per usare oracle da ruby.
E' sufficiente un
sudo ruby -S gem install ruby-oci8
si potrebbe ottenere un errore tipo:
Error Message: Could not compile with Oracle instant client. /opt/oracle/instantclient_11_2/libclntsh.so could not be found. You may need to make a symbolic link. cd /opt/oracle/instantclient_11_2 ln -s libclntsh.so.11.1 libclntsh.so
In questo caso bisogna solo creare il link come dice il messaggio di errore.
Per fare un test
Scompattare anche lo zip sqlplus, creare un file tnsnames.ora nella sottocartella network/admin in cui scrivere:
cesia = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 155.185.253.25)(PORT = 1521)) (CONNECT_DATA = (SID = cesia)) )
Eseguire:
rlwrap sqlplus
(lo username e' ad esempio cesia@cesia)
Per avere un output migliore e' utile settare pagesize:
set pagesize 5000
Installazione sotto Red Hat / CentOS
1) Installare il prerequisito libaio-devel
yum install libaio-devel
2) Installare, in ordine, i pacchetti scaricato dal sito di Oracle:
rpm -ivh oracle-instantclient11.2-basic-11.2.0.3.0-1.x86_64.rpm rpm -ivh oracle-instantclient11.2-devel-11.2.0.3.0-1.x86_64.rpm rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.3.0-1.x86_64.rpm
3) Creare il file /etc/ld.so.conf.d/oracle.conf con la seguente riga:
/usr/lib/oracle/11.2/client64/lib/
e ricaricare l'elenco delle librerie
ldconfig
4) Installare la gemma:
gem install ruby-oci8
5) Creare la directory network/admin sotto /usr/lib/oracle/11.2/client64/lib/ :
cd /usr/lib/oracle/11.2/client64/lib/ mkdir network cd network mkdir admin
e crearci dentro il file tnsnames.ora con dentro:
cesia = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = 155.185.253.25)(PORT = 1521)) (CONNECT_DATA = (SID = cesia)) )
6) Fare i test indicati nell'howto per debian.