Oracle propose des packages Linux pour son client "Instant Client" mais uniquement au format RPM pour des distributions de type RedHat/Fedora/CentOS.
Voici comment installer Oracle Instant Client sur une distribution de type Debian, ici une Ubuntu Server 14.04 x64.
Vous pouvez télécharger les packages RPM ici : http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
Télécharger les packages "basic" (librairies), "sqlplus" (le client) ainsi que "devel" (servira pour l'installation d'un module PHP Oracle OCi8 par exemple).
Les RPM n'étant pas supportés sous Ubuntu, nous allons utilisé la commande magique "alien" qui transformera nos RPM en DEB. Seuls les scripts de postinstall ne seront pas joués, nous aurons donc quelques manipulation manuelles post-installations à jouer.
Si ce n'est pas déjà fait, installer le package "alien"
$ sudo aptitude install alien
Ensuite, utilisons alien pour installer nos RPM
$ sudo alien -i oracle-instantclient12.1-basic-12.1.0.2.0-1.x86_64.rpm
$ sudo alien -i oracle-instantclient12.1-sqlplus-12.1.0.2.0-1.x86_64.rpm
$ sudo alien -i oracle-instantclient12.1-devel-12.1.0.2.0-1.x86_64.rpm
Installer la libaionécessaire à Oracle si vous ne l'avez pas déjà installé :
$ sudo aptitude install libaio1
Ajoutons le répertoire de librairies Oracle au library path de notre OS :
$ sudo vi /etc/ld.so.conf.d/oracle.conf
Et y mettre
/usr/lib/oracle/12.1/client64/lib
Ensuite déclarer ce nouveau path au linker ld.so
$ sudo ldconfig -v
Créer le répertoire qui accueillera le fichier tnsnames.ora
$ sudo mkdir /etc/oracle
Déclarer ce nouveau répertoire dans votre environnement en éditant le fichier/etc/environmentet en y ajoutant cette ligne à la fin:
TNS_ADMIN=/etc/oracle
Créer votre fichier/etc/oracle/tnsnames.oraqui comportera le SID de votre base, le serveur ainsi que le port :
un_nom_pour_votre_tnsname =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = IP_de_votre_serveur)(PORT = port_d_ecoute))
)
(CONNECT_DATA =
(SID = sid_de_votre_base)
)
)
On oubliera pas de se reconnecter pour profiter de la variable d'environnement "TNS_ADMIN".
Testons;
$ sqlplus64 login/password@un_nom_pour_votre_tnsname
Et voilà !
Mots clés : oracle