A short guide to build RPM of Oracle Instant Client.

Un petit guide pour construire les RPM de Oracle Instant Client.

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 i386. Pour les autres versions, seules les archives aux formats ZIP sont disponibles sur le site.

L'autre solution consiste à utiliser le Oracle Database 10g Express Client. Lui aussi n'est disponible qu'en version 10.2.0.1 et i386.

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.

Voici donc une petit guide, que j'espère trés simple, qui vous permettra de les construire vous même.

Préparez un environnement de construction

Faut-il encore rappeler que les RPM ne doit jamais être construit sous le compte administrateur ?

Tutorial : RPM : environnement de construction

Téléchargez les archives depuis le site officiel

Adresse : http://www.oracle.com/technology/tech/oci/instantclient/instantclient.html

Récupérez et enregistrez dans votre dossier SOURCES:

  • instantclient-basic
  • instantclient-jdbc
  • instantclient-sqlplus
  • instantclient-sdk
  • instantclient-odbc (uniquement i386)
  • instantclient-tools (uniquement x86)

En fonction de votre architecture, les versions  :

  • i386 : linux32-11.1.0.7.zip
  • x86_64 : 11.1.0.7.0-linux-x86_64.zip
  • ppc : linuxppc32-10.2.0.2-20060327.zip
  • ppc64 : linuxppc-10.2.0.2-20060327.zip

Installez les soures du RPM

Enregistrez le fichier nosrc.rpm correspondant à votre architecture dans un dossier et installez le :

rpm -ivh oracle-instantclient-*.remi.nosrc.rpm

Le fichier oracle-instantclient.spec sera enregistré dans votre dossier SPEC.

Les directives de construction du RPM suivent la même stratégie qu'Oracle dans les anciennes versions , c'est à dire que les entêtes (fichiers .h) sont enregistrées dans le dossier /usr/include/oracle/###/client et les bibliothèques dans le dossier /usr/lib/oracle/###/client/lib. Par contre la configuration de l'éditeur de lien dynamique est modifiée pour trouver ces bibliothèques.

Lancez la construction

Depuis votre dossier SPEC :

rpmbuild -bb oracle-instantclient-<arch>.spec

Vous devez obtenir les RPM attendus dans le dossier RPMS/<arch> :

  • oracle-instantclient-basic-xxx.rpm
  • oracle-instantclient-devel-xxx.rpm
  • oracle-instantclient-jdbc-xxx.rpm
  • oracle-instantclient-odbc-xxx.rpm
  • oracle-instantclient-sqlplus-xxx.rpm
  • oracle-instantclient-tools-xxx.rpm

Installez et utilisez vos RPM

Vous pouvez maintenant les installer et les utiliser. Par exemple pour avoir Accès aux bases de données Oracle en PHP

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