L'installation de Oracle Instant Client est certainement la solution la plus simple de disposer d'un accès aux bases Oracle depuis un client Unix/Linux/Windows/MacOS. Oracle fourni directement quelques RPM (utilisables sous Fedora) pour certaines versions et uniquement pour certaines architectures. Pour les autres versions, seules les archives aux formats ZIP sont disponibles sur le site.

Personnellement les RPM officiels ne me conviennent pas pour plusieurs raisons :

  • Installation dans /usr/lib au lieu de /usr/lib64
  • Aucun provides (indispensable pour résoudre les dépendances entre paquets)
  • Pas de configuration du chargement dynamique des bibliothèques

Ces différentes raisons m'ont amené, depuis plusieurs années, à fabriquer mes propres paquets que j'utilise, notamment pour construire et faire tourner tora ou php-oci8. Bien sur l'idéal serait que je puisse mettre les RPM sur mon dépôt, cependant, la licence d'utilisation ne me le permet sans doute pas.

J'actualise donc ce petit guide à l'occasion de la mise à jour en version 11.2.0.2.0 qui sera utilisée pour les prochaines versions.

Préparation de l'environnement

Il sera nécessaire de disposer d'environ 300Mio d'espace libre.

Sous root, installation des composants nécessaires

yum install rpmdevtools rpm-build unzip

Création d'un compte dédié, on ne construit jamais sous root, et un compte dédié est toujours une bonne idée.

useradd orabuild

Sous le compte orabuild, préparation des dossiers nécessaires

rpmdev-setuptree

Récupération des dernières versions

Télécharger depuis le site Oracle la dernière versions des archives et les enregistrer dans le dossier ~/rpmbuild/SOURCES

Version 32 bits :

  • instantclient-basic-linux32-11.2.0.2.0.zip
  • instantclient-jdbc-linux32-11.2.0.2.0.zip
  • instantclient-odbc-linux32-11.2.0.2.0.zip
  • instantclient-sdk-linux32-11.2.0.2.0.zip
  • instantclient-sqlplus-linux32-11.2.0.2.0.zip
  • instantclient-tools-linux32-11.2.0.2.0.zip

Version 64 bits :

  • instantclient-basic-linux-x86-64-11.2.0.2.0.zip
  • instantclient-jdbc-linux-x86-64-11.2.0.2.0.zip
  • instantclient-odbc-linux-x86-64-11.2.0.2.0.zip
  • instantclient-sdk-linux-x86-64-11.2.0.2.0.zip
  • instantclient-sqlplus-linux-x86-64-11.2.0.2.0.zip
  • instantclient-tools-linux-x86-64-11.2.0.2.0.zip

Télécharger depuis mon site la dernière version du source du RPM, dans le dossier ~/rpmbuild/SRPMS

Pour i386 : oracle-instantclient-i386-11.2.0.2.0-1.remi.nosrc.rpm

Pour x86_64 : oracle-instantclient-x86_64-11.2.0.2.0-1.remi.nosrc.rpm

Construction des RPM

Toujours sous le compte orabuild

rpmbuild --rebuild rpmbuild/SRPMS/oracle-instantclient-*-11.2.0.2.0-1.remi.nosrc.rpm

Après quelques minutes... vous avez les RPM disponibles dans le dossier ~/rpmbuild/RPMS/i386 ou ~/rpmbuild/RPMS/x86_64

Ecrit: /home/orabuild/rpmbuild/RPMS/x86_64/oracle-instantclient-basic-11.2.0.2.0-1.fc14.x86_64.rpm
Ecrit: /home/orabuild/rpmbuild/RPMS/x86_64/oracle-instantclient-devel-11.2.0.2.0-1.fc14.x86_64.rpm
Ecrit: /home/orabuild/rpmbuild/RPMS/x86_64/oracle-instantclient-jdbc-11.2.0.2.0-1.fc14.x86_64.rpm
Ecrit: /home/orabuild/rpmbuild/RPMS/x86_64/oracle-instantclient-odbc-11.2.0.2.0-1.fc14.x86_64.rpm
Ecrit: /home/orabuild/rpmbuild/RPMS/x86_64/oracle-instantclient-sqlplus-11.2.0.2.0-1.fc14.x86_64.rpm
Ecrit: /home/orabuild/rpmbuild/RPMS/x86_64/oracle-instantclient-tools-11.2.0.2.0-1.fc14.x86_64.rpm

Installation / Utilisation

Vous pouvez maintenant installer ces RPM comme habituellement, sous root :

yum install --nogpgcheck /home/orabuild/rpmbuild/RPMS/*/oracle-instantclient-*-11.2.0.2.0-1.*.rpm

Vous pouvez tester l'accès à votre serveur avec la commande habituelle :

sqlplus  user/login@serveur:port/SID

Pour continuer, voir, par exemple Accès aux bases de données Oracle en PHP

Comme toujours n'hésitez pas à me faire part de vos remarques.