Installation Oracle Client 19c sous CentOS7 (Centreon)

  • Auteur/autrice de la publication :
  • Dernière modification de la publication :22 novembre 2023
  • Post category:Linux
  • Temps de lecture :12 min de lecture
  • Commentaires de la publication :8 commentaires

Hello, après l’installation d’Oracle Database 19c sous OEL7, je termine donc ce projet avec l’installation du client oracle sous CentOS 7 (Centreon). En effet, afin de pouvoir superviser les bases de données Oracle avec Centreon, il faut installer et configurer Oracle Client sur votre plate-forme de supervision.

Ce qu’il vous faut :

Remarque : Pour ma part, j’ai mis en place une nouvelle VM avec la dernière version de Centreon (centreon-19.04-0.el7.x86_64.iso) sans rien installé de plus. Donc, je pars de ZERO.

  • Oracle Client for Linux : downloads/oracle19c-linux
    • Accepter la licence pour débloquer les liens de téléchargement.
    • Tout en bas, sous la ligne : Oracle Database 19c Client (19.3) for Linux x86-64
      • Télécharger le fichier : LINUX.X64_193000_client.zip (64-bit) (1,134,912,540 bytes) 

Oracle Client Linux

Configuration Serveur Centreon

Mettez à jour votre serveur Centreon si c’est nécessaire.

Attention, cette commande mettra à jour également Centreon si vous l’avez installé depuis l’ISO CES.

[root@centreon ~]# yum update -y

Installer les packages suivant :

Remarque : Si vous êtes en PROD n’hésitez pas à faire une sauvegarde avant d’installer d’autres packages sur votre plateforme de supervision.

[root@centreon ~]# yum groupinstall -y "X Window System"
[root@centreon ~]# yum install zip unzip git wget mlocate nano binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 glibc-devel.i686 glibc-devel.x86_64 ksh compat-libstdc++-33 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64

Création de groupe et l’utilisateur Oracle :

[root@centreon ~]# groupadd oinstall
[root@centreon ~]#
[root@centreon ~]# groupadd dba
[root@centreon ~]#
[root@centreon ~]# useradd -g oinstall -G dba oracle
[root@centreon ~]#

Ajouter un mot de passe pour l’user Oracle :

[root@centreon ~]# passwd oracle
Changement de mot de passe pour l'utilisateur oracle.
Nouveau mot de passe :
Retapez le nouveau mot de passe :
passwd : mise à jour réussie de tous les jetons d'authentification.
[root@centreon ~]#

Installation Oracle Client

Télécharger l’archive ZIP et le transférer dans le dossier /tmp de votre serveur Centreon. Utilisez MobaXterm, c’est plus simple :

Upload MobaXterm

Une fois le transfère terminé, appliquer les droits nécessaires  :

[root@centreon tmp]# chmod 775 LINUX.X64_193000_client.zip

Dézipper l’archive :

[root@centreon tmp]# unzip LINUX.X64_193000_client.zip

Passer sous l’utilisateur ORACLE :

[root@centreon tmp]# su - oracle
[oracle@centreon ~]$

Lancer l’installation :

[oracle@centreon ~]# cd /tmp/client/
[oracle@centreon client]$ ll
total 20
drwxr-xr-x  4 root root  221 17 avril 10:28 install
drwxrwxr-x  2 root root   49 17 avril 12:40 response
-rwxr-xr-x  1 root root 8854 17 avril 10:28 runInstaller
drwxr-xr-x 15 root root 4096 17 avril 12:41 stage
-rwxrwxr-x  1 root root  500  6 févr.  2013 welcome.html
[oracle@centreon client]$
[oracle@centreon client]# ./runInstaller
Démarrage d'Oracle Universal Installer...

Vérification de l'espace temporaire : doit être supérieur à 415 Mo.   Réel 22430 Mo    Succès
Vérification de l'espace de swap : il doit être supérieur à 150 Mo.   Réel 3071 Mo    Succès
Vérification de l'écran : doit être configuré pour afficher au moins 256 couleurs
    >>> Impossible d'exécuter la vérification automatique des couleurs d'affichage à l'aide de la commande /usr/bin/xdpyinfo. Vérifiez que la variable DISPLAY est définie.    Echec <<<<

Echec de la vérification de certaines exigences. Vous devez répondre à ces exigences pour

pouvoir poursuivre l'installation,

Voulez-vous poursuivre ?# (o/n) [n] n

Si vous avez le message :

>>> Impossible d’exécuter la vérification automatique des couleurs d’affichage à l’aide de la commande /usr/bin/xdpyinfo. Vérifiez que la variable DISPLAY est définie. Echec <<<<

Annuler l’installation et déconnectez-vous totalement de votre serveur avec la commande EXIT (si vous êtes directement sur le serveur, redémarrer) puis reconnectez-vous directement avec l’utilisateur ORACLE :

Lancer les commandes suivantes. L’adresse IP est celle de votre propre machine.

[oracle@centreon client]# DISPLAY=192.168.1.30:0.0
[oracle@centreon client]# export DISPLAY
[oracle@centreon client]# xhost + 192.168.1.30
192.168.1.30 being added to access control list
[oracle@centreon client]#

export DISPLAY permet de lancer une application en mode graphique !

Toujours sous l’utilisateur Oracle, lancer l’installation et patienter un petit moment :

[oracle@centreon client]# ./runInstaller

Installation Oracle Client Linux

  • Laisser  Administrateur et cliquer sur Suivant >
  • Personnaliser l’emplacement si vous le souhaiter :

Oracle Client Directory

  • Cliquer su Suivant >
  • Laisser l’emplacement de l’inventaire par défaut ainsi que le groupe :

Oracle Client Inventory

  • Cliquer sur Suivant >
  • Après vérification, cliquer sur Installer
  • Vers la fin de l’installation, une fenêtre s’affiche. Il faut exécuter le script indiqué sous ROOT sur un nouveau Terminal (SSH).

Install Oracle Client

  • Ouvrir une nouvelle connexion SSH
  • Exécuter le script directement à la racine :
[root@centreon ~]# /home/oracle/oraInventory/orainstRoot.sh
Modification des droits d'accès de /home/oracle/oraInventory.
Ajout de droits d'accès en lecture/écriture pour le groupe.
Suppression des droits d'accès en lecture/écriture/exécution pour le monde.

Modification du nom de groupe de /home/oracle/oraInventory en oinstall.
L'exécution du script est terminée.
[root@centreon ~]#
  • Retourner sur la fenêtre et cliquer sur OK
  • C’est terminé

Oracle Client 19c

  • Cliquer sur Fermer

Passons à la configuration.

Configuration des ENV

Voici les variables d’environnement qu’il faut configurer :

  • ORACLE_HOME = /home/oracle/app/product/19.0.0/client64
  • TNS_ADMIN = /home/oracle/app/product/19.0.0/client64/network/admin
  • LD_LIBRARY_PATH = /home/oracle/app/product/19.0.0/client64/lib

Utilisateur et groupe par défaut :

  • User : oracle
  • Groupe : oinstall

Ajouter les variables d’environnement Oracle pour les 3 utilisateurs :

Utilisateur ROOT : à la racine du serveur

[root@centreon ~]# nano .bash_profile

Ajoutez-y :

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

# User specific environment and startup programs
export LD_LIBRARY_PATH=/home/oracle/app/product/19.0.0/client64/lib:$LD_LIBRARY_PATH
export TNS_ADMIN=/home/oracle/app/product/19.0.0/client64/network/admin
export ORACLE_HOME=/home/oracle/app/product/19.0.0/client64
export NLS_LANG=FRENCH_FRANCE.WE8MSWIN1252

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

Reload :

[root@centreon ~]# source ~/.bash_profile
[root@centreon ~]#

Utilisateur ORACLE :

[root@centreon ~]# su - oracle
[oracle@centreon ~]# nano .bash_profile

la même chose :

# .bash_profile

# Get the aliases and functions
if [ -f ~/.bashrc ]; then
  . ~/.bashrc
fi

# User specific environment and startup programs
export LD_LIBRARY_PATH=/home/oracle/app/product/19.0.0/client64/lib:$LD_LIBRARY_PATH
export TNS_ADMIN=/home/oracle/app/product/19.0.0/client64/network/admin
export ORACLE_HOME=/home/oracle/app/product/19.0.0/client64
export NLS_LANG=FRENCH_FRANCE.WE8MSWIN1252

PATH=$PATH:$HOME/.local/bin:$HOME/bin

export PATH

Reload :

[oracle@centreon ~]$ source ~/.bash_profile
[oracle@centreon ~]$

Utilisateur CENTREON-ENGINE : copier le .bash_profile de l’utilisateur ROOT :

[root@centreon ~]# cp .bash_profile /var/lib/centreon-engine
[root@centreon ~]#

Reload :

[root@centreon ~]# su - centreon-engine
Dernière connexion : mardi  9 juillet 2019 à 13:48:13 CEST sur pts/1
-bash-4.2$ source ~/.bash_profile
-bash-4.2$ exit
déconnexion
[root@centreon ~]#

TNSNames & SQLnet

Nous allons copier les fichiers tnsnames.ora et sqlnet.ora depuis le serveur Oracle vers le serveur Centreon. Sur votre serveur Oracle, les fichiers se trouvent dans  : /u01/app/oracle/product/19.2.0/dbhome_1/network/admin/

Sur votre serveur Centreon, le fichier doit être placé dans le répertoire : TNS_ADMIN=/home/oracle/app/product/19.0.0/client64/network/admin

Utilisez SCP pour copier les fichiers depuis votre serveur Oracle vers votre serveur Centreon : (à lancer depuis votre serveur Centreon) :

[root@centreon ~]# scp root@192.168.1.22:/u01/app/oracle/product/19.2.0/dbhome_1/network/admin/tnsnames.ora root@192.168.1.30:/home/oracle/app/product/19.0.0/client64/network/admin/
[...]
Are you sure you want to continue connecting (yes/no)? yes
root@192.168.1.22's password:
[...]
Are you sure you want to continue connecting (yes/no)? yes
root@192.168.1.30's password:
tnsnames.ora                                                     100%  435   341.0KB/s   00:00
Connection to 192.168.1.22 closed.
[root@centreon ~]#

Faire la même chose pour le fichier sqlnet.ora

  • 192.168.1.22 = serveur Oracle
  • 192.168.1.30 = serveur Centreon

Installation Oracle Module Perl

Installer les modules perl  suivants dans l’ordre :

[root@centreon plugins]# cpan -i Test::NoWarnings
[root@centreon plugins]# cpan -i CPAN::Meta
[root@centreon plugins]# cpan -i DBD::Oracle
[root@centreon plugins]# cpan -i DBI

Remarque : si au lancement de la commande CPAN pose des questions, laissez tout par défaut et Entrée.

Test de supervision

Nous allons maintenant tester la supervision en ligne de commande.

Placez-vous dans le répertoire des plugins Centreon et lancer la commande suivante :

Check TNSPing  :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::oracle::plugin --mode=tnsping --hostname=192.168.1.22 --sid=PIXEL --port=1521
OK: Connection established to listener 'PIXEL'. |
[root@centreon plugins]#

Check TableSpace Usage :

[root@centreon plugins]# ./centreon_plugins.pl --plugin=database::oracle::plugin --mode=tablespace-usage --hostname=192.168.1.22 --port=1521 --sid=PIXEL --username=system --password=Oracle19! --warning-tablespace=90 --critical-tablespace=95 --verbose
OK: All tablespaces are OK | 'tbs_sysaux_usage_sysaux'=552075264B;0:27536154624;0:29065940992;0;30595727360 'tbs_system_usage_system'=945684480B;0:27536154624;0:29065940992;0;30595727360 'tbs_temp_usage_temp'=0B;0:27536080896;0:29065863168;0;30595645440 'tbs_users_usage_users'=2818048B;0:27536154624;0:29065940992;0;30595727360
Tablespace 'sysaux' Total: 28.49 GB Used: 526.50 MB (1.80%) Free: 27.98 GB (98.20%)
Tablespace 'system' Total: 28.49 GB Used: 901.88 MB (3.09%) Free: 27.61 GB (96.91%)
Tablespace 'temp' Total: 28.49 GB Used: 0.00 B (0.00%) Free: 28.49 GB (100.00%)
Tablespace 'users' Total: 28.49 GB Used: 2.69 MB (0.01%) Free: 28.49 GB (99.99%)
[root@centreon plugins]#

La suite est ici : supervision-oracle-database-avec-centreon/

C’est terminé les amis. Fin de mon projet Oracle Database. Amusez-vous bien.

Bonne journée et à bientôt.

Cet article a 8 commentaires

  1. Juan Carlos Huayane

    Hello,

    Could you please help me, the tsping works but when I make the query with the oracle user it doesn’t work, I don’t know where the error can be. Could you help me.

    Thanks

    [root@Jimbo plugins]# ./centreon_oracle.pl --plugin=database::oracle::plugin --mode=tnsping --hostname=oradesa1 --sid=DESA --port=1521
    OK: Connection established to listener 'DESA'. |
    [root@Jimbo plugins]# ./centreon_oracle.pl --plugin=database::oracle::plugin --hostname=oradesa1 --port='1521' --sid='DESA' -username='SYS' --password='xxxxxx' --mode='tablespace-usage' --warning-tablespace='90' --critical-tablespace='98' --verbose
    UNKNOWN: Cannot connect: ORA-01017: invalid username/password; logon denied (DBD ERROR: OCISessionBegin) 
    [root@Jimbo plugins]#
    1. sysadmin

      Hello,
      TNSping its a sample PING, user and password not needed.

      For other mods, user and password its required :

      UNKNOWN: Cannot connect: ORA-01017: invalid username/password; logon denied (DBD ERROR: OCISessionBegin)  

      Password wrong or user not allowed or user locked.
      Try also with user system

    2. Juan Carlos Huayane

      Thank you very much I found the error in the sqlnet.ora file. 

      #NAMES.DIRECTORY_PATH= (TNSNAMES)
      NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)

      I added EZCONNECT

      Thank you for the contribution

  2. batcox

    Bonjour,
    Avant tout, merci pour cette article.
    Par contre je rencontre un soucis c’est que lorsque je fais les tests depuis l’utilisateur centreon-engine j’ai un message d’erreur :  » install_driver(Oracle) failed ».
    ça fonctionne très bien en tant que root. Visiblement l’utilisateur centreon-engine n’a pas accès au dossier /home/oracle.
    Comment puis-je résoudre le problème ?
    Merci d’avance

    1. sysadmin

      Salut,
      Vérifies bien les variables d’environnement (le chemin d’installation Oracle) pour les trois utilisateurs.
      Pour l’user Centreon-Engine, le .bash_profile doit se trouver dans /var/lib/centreon-engine
      Tu as bien installé le module Perl : DBD::Oracle ?

      Je pense que ce n’est pas nécessaire. Pour en avoir le coeur net, essaies de mettre en place la supervision sous Centreon-web.
      Si tout fonctionne en ligne de commande, je pense que ça doit fonctionner depuis l’interface web.
      Tu as l’article ici : https://asysadminstory.fr/supervision-oracle-database-avec-centreon/

      Bonne journée.
      -sysadmin

      1. batcox

        Depuis l’interface web il m’indique le message "(No output returned from plugin)" et c’est pourquoi j’ai fait le test en ligne de commande depuis l’utilisateur centreon-engine. En tant qu’utilisateur root je n’ai pas de soucis.
        Voici le message d’erreur :

        ./centreon_plugins.pl --plugin=database::oracle::plugin --mode=tnsping --hostname=10.0.10.101 --sid=CPTA
        UNKNOWN: install_driver(Oracle) failed: Can't load '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.19.1: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190.
         at (eval 12) line 3.
        Compilation failed in require at (eval 12) line 3.
        Perhaps a required shared library or dll isn't installed where expected
         at /usr/lib/centreon/plugins/centreon/plugins/dbi.pm line 216.
        1. sysadmin

          As-tu installé les modules perl (oracle) ?
          ça doit marcher depuis l’interface web. Le message No output returned from plugin indique qu’il ne trouve pas les plugins Centreon.
          Il faut revoir la configuration de tes plugins (Configuration > Collecteurs > Ressources).

Laisser un commentaire