Installation du module perl DBD::Oracle

Bonjour,

je travaille actuellement sur Nagios et plus particulièrement sur une commande (“check_oracle_heath” qui est déjà installée) me permettant d’aller checker des bases de données Oracle.

En premier lieu, après mettre renseigné sur divers forums et tutoriels, il s’avère qu’il faut installer un client Oracle sur le serveur supportant Nagios.

J’ai donc effectué l’installation de Oracle-instant-client base, devel et sqlplus.
Ensuite, j’arrive bien à me connecter sur une base distante à l’aide de la commande:
sqlplus64 nom_utilisateur/mot_de_passe@nom_serveur:port/nom_base

Cependant, quand je lance la commande /usr/local/nagios/libexec/check_oracle_heath, il m’indique que je dois installer le module perl DBD::oracle :
Perhaps the DBD::Oracle perl module hasn’t been fully installed

Après quelques recherches, il s’est avéré qu’il fallait que j’installe avant ces modules perl:
YAML
Test::More
FCGI
CGI
DBI
DBD::OBDC (avec le paquet unixodbc-dev)

Ces différents modules sont installés à l’aide du gestionnaire de paquet perl “cpan” en tapant la commande “install nom_paquet

Puis je récupère les sources du module perl DBD::Oracle, à l’aide de la commande depuis le prompt cpan :
get DBD::Oracle

Puis je me rends dans le dossier contenant la source :
cd /root/.cpan/sources/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.58

Et je lance l’installation comme indiquée dans le “INSTALL” :
perl Makefile.PL

Il me retourne une erreur comme quoi il n’arrive pas à localiser le fichier oracle.mk :
"Unable to locate an oracle.mk or other suitable *.mk
file in your Oracle installation. (I looked in /usr/lib/oracle/11.2/client64/rdbms/demo/demo_xe.mk /usr/lib/oracle/11.2/client64/rdbmsdemo/demo_rdbms.mk /usr/lib/oracle/11.2/client64/rdbms/demo/demo_rdbms64.mk /usr/lib/oracle/11.lient64)
The oracle.mk (or demo_rdbms.mk) file is part of the Oracle RDBMS product."

Donc j’ai essayé à l’aide de cette commande que j’ai pu voir sur certains forums :
perl Makefile.PL -m /usr/share/oracle/11.2/client/demo.mk -h /usr/include/oracle/11.2/client/

Et là il me retourne l’erreur comme quoi demo.mk ne peut définir une règle “build” :
"Oracle /usr/share/oracle/11.2/client/demo.mk doesn’t define a ‘build’ rule."

Je voulais donc savoir si quelqu’un pourrait m’éclairer car je suis vraiment désespéré ! ^^

Désolé pour le post qui est long, mais au moins vous avez un maximun d’information :wink:

Merci d’avance ! Benji22fr

Bonjour,

J’ai résolu mon problème et je poste la solution au cas où :wink: .

Le problème semblait venir de ma version de mon client Oracle qui était en 11 alors qu’apparament, le module perl DBD::Oracle est compatible que jusqu’à la version 10.
Après réinstallation du client Oracle en 10, et du module perl DBI, l’installation du module perl DBD::Oracle s’est fait correctement.
Pour information, j’ai du installé cette librairie (libstdc++5) afin d’éviter une erreur lors de l’exécution de la commande check_oracle_health.

Ce post peut être clos.

Cordialement, Benji22fr