This is a translation of the original English documentation page. Help us make it better.

12 Configuration de la base de données Oracle

Aperçu

Cette section contient des instructions pour créer une base de données Oracle et configurer les connexions entre la base de données et le serveur Zabbix, le proxy et l'interface.

Création de la base de données

Nous supposons qu'un utilisateur de base de données zabbix avec le mot de passe password existe et dispose des autorisations nécessaires pour créer des objets de base de données dans le service ORCL situé sur l'hôte du serveur de base de données Oracle. Zabbix nécessite un jeu de caractères de base de données Unicode et un jeu de caractères national UTF8. Vérifiez les réglages actuels :

sqlplus> select parameter,value from v$nls_parameters where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';

Préparez maintenant la base de données :

shell> cd /path/to/zabbix-sources/database/oracle
       shell> sqlplus zabbix/password@oracle_host/ORCL
       sqlplus> @schema.sql
       # arrêtez-vous ici si vous créez une base de données pour le proxy Zabbix
       sqlplus> @images.sql
       sqlplus> @data.sql

Veuillez définir le paramètre d'initialisation CURSOR_SHARING=FORCE pour de meilleures performances.

Etablissement de la connexion

Zabbix prend en charge deux types d'identifiants de connexion (méthodes de connexion) :

  • Easy Connect
  • Net Service Name

Les paramètres de configuration de connexion pour le serveur Zabbix et le proxy Zabbix peuvent être définis dans les fichiers de configuration. Les paramètres importants pour le serveur et le proxy sont DBHost, DBUser, DBName et DBPassword. Les mêmes paramètres sont importants pour l'interface Web : $DB["SERVER"], $DB["PORT"], $DB["DATABASE"], $DB["USER"], $DB["PASSWORD"].

Zabbix utilise la syntaxe de chaîne de connexion suivante :

{DBUser/DBPassword[@<connect_identifier>]}

<connect_identifier> peut être spécifié sous la forme "Net Nom du service" ou sous la forme "Easy Connect".

@[[//]Host[:Port]/<service_name> | <net_service_name>]

Easy Connect

Easy Connect utilise les paramètres suivants pour se connecter à la base de données :

  • Host - le nom d'hôte ou l'adresse IP du serveur de la base de données (paramètre DBHost dans le fichier de configuration).
  • Port - le port d'écoute sur le serveur de base de données (paramètre DBPort dans le fichier de configuration ; s'il n'est pas défini, le port 1521 sera utilisé par défaut).
  • <service_name> - le nom de service de la base de données à laquelle vous souhaitez accéder (paramètre DBName dans le fichier de configuration).

Exemple:

Paramètres de base de données définis dans le fichier de configuration du serveur ou du proxy (zabbix_server.conf et zabbix_proxy.conf):

DBHost=localhost
       DBPort=1521
       DBUser=myusername
       DBName=ORCL
       DBPassword=mypassword

Chaîne de connexion utilisée par Zabbix pour établir la connexion :

DBUser/DBPassword@DBHost:DBPort/DBName

Lors de l'installation de l'interface Zabbix, définissez les paramètres correspondants à l'étape Configurer la connexion à la base de données de l'assistant d'installation :

  • Database host: localhost
  • Database port: 1521
  • Database name: ORCL
  • User: myusername
  • Password: mypassword

Alternativement, ces paramètres peuvent être définis dans le fichier de configuration frontal (zabbix.conf.php):

$DB["TYPE"]                     = 'ORACLE';
       $DB["SERVER"]                   = 'localhost';
       $DB["PORT"]             = '1521';
       $DB["DATABASE"]                 = 'ORCL';
       $DB["USER"]                     = 'myusername';
       $DB["PASSWORD"]                 = 'mypassword';

Nom du service réseau

Depuis Zabbix 5.4.0, il est possible de se connecter à Oracle en utilisant le nom du service réseau.

<net_service_name> est un nom simple pour un service qui se résout en un descripteur de connexion.

Afin d'utiliser le nom de service pour créer une connexion, ce nom de service doit être défini dans le fichier tnsnames.ora situé à la fois sur le serveur de base de données et sur les systèmes clients. Le moyen le plus simple de s'assurer que la connexion réussira est de définir l'emplacement du fichier tnsnames.ora dans la variable d'environnement TNS_ADMIN. L'emplacement par défaut du fichier tnsnames.ora est :

$ORACLE_HOME/network/admin/

Un exemple simple de fichier tnsnames.ora :

ORCL =
         (DESCRIPTION =
           (ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
           (CONNECT_DATA =
             (SERVER = DEDICATED)
             (SERVICE_NAME = ORCL)
           )
         )

Pour définir les paramètres de configuration de la méthode de connexion "Nom du service réseau", utilisez l'une des options suivantes :

  • Définissez un paramètre DBHost vide et définissez DBName comme d'habitude :
DBHost=
       DBName=ORCL
  • Définissez les deux paramètres et laissez les vides :
DBHost=
       DBName=

Dans le second cas, la variable d'environnement TWO_TAKS doit être définie. Il spécifie le service Oracle distant par défaut (nom du service). Lorsque cette variable est définie, le connecteur se connecte à la base de données spécifiée à l'aide d'un écouteur Oracle qui accepte les demandes de connexion. Cette variable est à utiliser sous Linux et UNIX uniquement. Utilisez la variable d'environnement LOCAL pour Microsoft Windows.

Exemple :

Connectez-vous à une base de données à l'aide du nom de service réseau défini sur ORCL et du port par défaut. Paramètres de base de données définis dans le fichier de configuration du serveur ou du proxy (zabbix_server.conf et zabbix_proxy.conf) :

DBHost=
       #DBPort=
       DBUser=myusername
       DBName=ORCL
       DBPassword=mypassword

Lors de l'installation de l'interface Zabbix, définissez les paramètres correspondants à l'étape Configurer la connexion à la base de données de l'assistant d'installation :

  • Hôte de base de données :
  • Port de la base de données : 0
  • Nom de la base de données : ORCL
  • Utilisateur : myusername
  • Mot de passe : mypassword

Alternativement, ces paramètres peuvent être définis dans le fichier de configuration du frontend (zabbix.conf.php) :

$DB["TYPE"]                     = 'ORACLE';
       $DB["SERVER"]                   = '';
       $DB["PORT"]                     = '0';
       $DB["DATABASE"]                 = 'ORCL';
       $DB["USER"]                     = 'myusername';
       $DB["PASSWORD"]                 = 'mypassword';

Chaîne de connexion utilisée par Zabbix pour établir la connexion :

DBUser/DBPassword@ORCL

Known issues

To improve performance, you can convert the field types from nclob to nvarchar2, see known issues.