Oracle instant client
Oracle instant client per Debian GNU/Linux
Installare le libaio:
sudo apt-get install libaio-dev
Scaricare dal sito oracle (i386) o (x86-64) 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
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:
ORASIAMO = (DESCRIPTION = (ADDRESS = (PROTOCOL = TCP)(HOST = odbms01.cesia.unimo.it)(PORT = 1521)) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = orasiamo) ) ) ESSE3 = (DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE = ON) (FAILOVER = ON) (ADDRESS=(PROTOCOL=tcp) (HOST=cman01-ext.dbc.cineca.it)(PORT=5555)) (ADDRESS=(PROTOCOL= tcp)(HOST=cman02-ext.dbc.cineca.it)(PORT=5555))) (CONNECT_DATA = (SERVICE_NAME = esse3_unimo_prod_ext.cineca.it )) ) ESSE3TEST = (DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE = ON) (FAILOVER = ON) (ADDRESS=(PROTOCOL=tcp) (HOST=cman01-ext.dbc.cineca.it)(PORT=5555)) (ADDRESS=(PROTOCOL= tcp)(HOST=cman02-ext.dbc.cineca.it)(PORT=5555))) (CONNECT_DATA = (SERVICE_NAME = esse3_unimo_preprod_ext.cineca.it )) ) ESSE3XCONV = (DESCRIPTION = (ADDRESS_LIST = (LOAD_BALANCE = ON) (FAILOVER = ON) (ADDRESS=(PROTOCOL=tcp) (HOST=cman01-ext.dbc.cineca.it)(PORT=5555)) (ADDRESS=(PROTOCOL= tcp)(HOST=cman02-ext.dbc.cineca.it)(PORT=5555))) (CONNECT_DATA = (SERVICE_NAME = esse3_unimo_prod_ext.cineca.it )) )
Eseguire:
rlwrap sqlplus
(lo username e' ad esempio cesia@ORASIAMO)
Per avere un output migliore e' utile settare pagesize:
set pagesize 5000
Per Esse3 lo username è (nel mio caso):
PUEXT_UNIMOREIT_12688[ESSE3_UNIMO_PROD]@ESSE3
o
PUEXT_UNIMOREIT_12688[ESSE3_UNIMO_PREPROD]@ESSE3TEST
La password è la stessa del customerportal.
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.