[comment]: # ({13138d0b-710cea74})
# 14 Configuration de la base de données Oracle

[comment]: # ({/13138d0b-710cea74})

[comment]: # ({9c9e7234-c3411fd2})
#### Vue d'ensemble

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.

::: noteimportant
La prise en charge d'Oracle DB est obsolète depuis Zabbix 7.0.
:::

[comment]: # ({/9c9e7234-c3411fd2})

[comment]: # ({c92b69bb-2fd36a67})
#### 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 le serveur de base de données Oracle *host*. 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 paramètres 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 :

    cd /path/to/zabbix-sources/database/oracle
    sqlplus zabbix/password@oracle_host/ORCL
    sqlplus> @schema.sql
    # stop here if you are creating database for Zabbix proxy
    sqlplus> @images.sql
    sqlplus> @data.sql

::: notetip
Veuillez définir le paramètre d'initialisation
CURSOR\_SHARING=FORCE pour obtenir les meilleures performances.
:::

[comment]: # ({/c92b69bb-2fd36a67})

[comment]: # ({e0890d7f-db4ecc98})
#### Configuration 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 la 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 : *$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é soit sous la forme "Net
Service Name", soit sous la forme "Easy Connect".

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

[comment]: # ({/e0890d7f-db4ecc98})

[comment]: # ({dd251e55-ed80a373})
##### 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 de l'ordinateur du serveur de 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 par défaut 1521 sera utilisé).
-   <service_name> - le nom du 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 :

-   Hôte de la base de données : localhost
-   Port de la base de données : 1521
-   Nom de la base de données : ORCL
-   Utilisateur : myusername
-   Mot de passe : mypassword

![](../../../../assets/en/manual/appendix/install/oracle_easy_connect.png){width="600"}

Sinon, ces paramètres peuvent être définis dans le fichier de configuration de l'interface
(zabbix.conf.php) :

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

[comment]: # ({/dd251e55-ed80a373})

[comment]: # ({e560c5ad-fe8fa72a})
##### Nom de service réseau

Il est possible de se connecter à Oracle en utilisant un nom de 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/

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 "Net Service Name", utilisez l'une des options suivantes :

-    Définissez un paramètre DBHost vide et définissez DBName comme d'habitude :

```{=html}
<!-- -->
```
    DBHost=
    DBName=ORCL

-   Définissez les deux paramètres et laissez-les tous les deux vides :

```{=html}
<!-- -->
```
    DBHost=
    DBName=

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

**Exemple**

Connexion à une base de données en utilisant Net Service Name défini sur ORCL et le 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 la 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

![](../../../../assets/en/manual/appendix/install/oracle_service_name.png){width="600"}

Sinon, ces paramètres peuvent être définis dans le fichier de configuration de l'interface (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

[comment]: # ({/e560c5ad-fe8fa72a})

[comment]: # ({74be0d8b-d6cd676f})
#### Problèmes connus

Pour améliorer les performances, vous pouvez convertir les types de champ de *nclob* en *nvarchar2* ; voir [problèmes connus](/manual/installation/known_issues#slow-configuration-sync-with-oracle).

[comment]: # ({/74be0d8b-d6cd676f})
