Installation d’un client oracle sur Debian

Client Oracle Nous allons maintenant installer un client oracle permettant de nous connecter à une base grâce au très connu SQL*Plus.
Il n’existe malheureusement aucun paquet reconnu par Debian. L’installation se fera donc manuellement.
Pour cela, nous aurons besoin d’installer 2 paquets :
– oracle-instantclient-basic (ou basiclite) : la version basiclite ne contient que les messages d’erreur en Anglais et les jeux de caractères les plus connus.
– oracle-instantclient-sqlplus : SQL*Plus comme son nom l’indique.

Vous trouverez les paquets sur le site d’oracle à l’adresse suivante :
http://www.oracle.com/technetwork/database/features/instant-client/index-097480.html
Vous pourrez choisir votre architecture (32 ou 64 bits) puis sélectionner les 2 paquets en fonction de la version d’Oracle que les applications utilisent.

Installation

Vous avez le choix entre le fichier zip et le paquet au format RPM (RedHat Package Manager).
Nous nous attacherons à installer la version RPM.
Une fois les 2 fichiers téléchargés, vous devrez utiliser l’application alien afin de les convertir au format debian (extension .deb).
Si alien n’est pas installé, voilà qui résoudra le problème :
aptitude install alien

alien oracle-instantclient-*.rpm

Le paquet oracle-instantclient-basic doit être installé en premier.

dpkg -i oracle-instantclient-basicxxx.rpm
dpkg -i oracle-instantclient-sqlplusxxx.rpm

Nous allons devoir maintenant configurer le client oracle.
Il faut maintenant spécifier le chemin d’accès aux librairies.
Faites un vim /etc/ld.so.conf.d/oracle.conf pour créer un nouveau fichier de config.
Entrez la ligne suivante : /usr/lib/oracle/10.2.0.4/client/lib/
Il faudra bien évidemment adapter le numéro de version (10.2.0.4) en fonction de vos paquets.

Etape importante : ne pas oublier de ventiler les librairies au niveau du cache
ldconfig -v
L’accès aux librairies via ld.so.conf n’est pas géré par Java.
Dans ce cas, voici les solutions qui s’offrent à vous :

_ ouvrir un shell puis taper
export LD_LIBRARY_PATH=/usr/lib/oracle/10.x.x.x/client/lib
puis démarrer l’appli depuis ce shell

_ démarrer l’appli en précisant le chemin sur la ligne de commande
java -Djava.library.path=/usr/lib/oracle/10.x.x.x/client/lib/ -jar mon_appli.jar

_ copier les librairies de /usr/lib/oracle/10.x.x.x/client/lib/ dans /usr/lib
cp /usr/lib/oracle/10.x.x.x/client/lib/* /usr/lib

Configuration

Ensuite, il est nécessaire de configurer la résolution de noms pour l’accès aux bases (TNS, Ldap,…).
Nous positionnons la variable d’environnement TNS_ADMIN pour pointer vers le dossier contenant les fichiers tnsnames.ora, sqlnet.ora, ldap.ora.
vim /etc/environment
Ajoutez la ligne TNS_ADMIN=/etc/oracle par exemple.

Le fichier d’initialisation de SQL*Plus permet par exemple de changer le prompt.
Pour cela, SQL*Plus scrute le fichier login.sql dans le répertoire courant ou dans les chemins de SQLPATH.
Nous pourrions placer le fichier login.sql dans le dossier /etc/oracle précédemment créé.
vim /etc/oracle/login.sql
set sqlprompt « _USER’@’_CONNECT_IDENTIFIER _PRIVILEGE>  »

Ceci permet d’afficher le user de connexion suivi du nom de l’instance de base (à partir d’Oracle 10g).

Il faut de ce fait paramétrer la variable SQLPATH :
vim /etc/environment
et ajouter la ligne: SQLPATH=/etc/oracle

Utilisation

Vous êtes maintenant prêt à lancer une session Plus :
sqlplus hr/hr@B10G

Laisser un commentaire