Oracle instant client

Da sia.
Versione del 17 set 2021 alle 08:22 di Malvezzi (discussione | contributi) (→‎Per fare un test)
(diff) ← Versione meno recente | Versione attuale (diff) | Versione più recente → (diff)
Vai alla navigazione Vai alla ricerca

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.