[comment]: # ({13138d0b-710cea74})
# 14 Oracle-Datenbankeinrichtung

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

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

Dieser Abschnitt enthält Anweisungen zum Erstellen einer Oracle-Datenbank und
zum Konfigurieren der Verbindungen zwischen der Datenbank und dem Zabbix Server, Proxy
und Frontend.

::: noteimportant
Die Unterstützung für Oracle DB ist seit Zabbix 7.0 veraltet.
:::

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

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

Wir gehen davon aus, dass ein *zabbix*-Datenbankbenutzer mit dem Kennwort *password* vorhanden ist
und über Berechtigungen zum Erstellen von Datenbankobjekten im ORCL-Dienst auf dem
*host* Oracle-Datenbankserver verfügt. Zabbix benötigt einen Unicode-Datenbank-
Zeichensatz und einen nationalen Zeichensatz `UTF8`. Prüfen Sie die aktuellen
Einstellungen:

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

Bereiten Sie nun die Datenbank vor:

    cd /path/to/zabbix-sources/database/oracle
    sqlplus zabbix/password@oracle_host/ORCL
    sqlplus> @schema.sql
    # hier anhalten, wenn Sie die Datenbank für einen Zabbix Proxy erstellen
    sqlplus> @images.sql
    sqlplus> @data.sql

::: notetip
Bitte setzen Sie den Initialisierungsparameter
CURSOR\_SHARING=FORCE für die beste Leistung.
:::

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

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

Zabbix unterstützt zwei Arten von Verbindungskennungen (Verbindungsmethoden):

-   Easy Connect
-   Net Service Name

Die Verbindungs-Konfigurationsparameter für den Zabbix Server und den Zabbix Proxy
können in den Konfigurationsdateien festgelegt werden. Wichtige Parameter für den
Server und den Proxy sind *DBHost*, *DBUser*, *DBName* und *DBPassword*. Die
gleichen Parameter sind für das Frontend wichtig: *$DB\["SERVER"\]*,
*$DB\["PORT"\]*, *$DB\["DATABASE"\]*, *$DB\["USER"\]*,
*$DB\["PASSWORD"\]*.

Zabbix verwendet die folgende Syntax für Verbindungszeichenfolgen:

    {DBUser/DBPassword[@<connect_identifier>]} 

<connect\_identifier> kann entweder in der Form "Net
Service Name" oder "Easy Connect" angegeben werden.

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

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

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

Easy Connect verwendet die folgenden Parameter, um eine Verbindung zur Datenbank herzustellen:

-   *Host* - der Hostname oder die IP-Adresse des Datenbankserver-Computers
    (DBHost-Parameter in der Konfigurationsdatei).
-   *Port* - der Listening-Port auf dem Datenbankserver (DBPort-Parameter
    in der Konfigurationsdatei; wenn nicht gesetzt, wird standardmäßig Port 1521 verwendet).
-   <service\_name> - der Name des Datenbankdienstes, auf den Sie
    zugreifen möchten (DBName-Parameter in der Konfigurationsdatei).

**Beispiel**

Datenbankparameter, die in der Konfigurationsdatei von Server oder Proxy festgelegt sind
(zabbix\_server.conf und zabbix\_proxy.conf):

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

Von Zabbix verwendete Verbindungszeichenfolge zum Herstellen der Verbindung:

    DBUser/DBPassword@DBHost:DBPort/DBName

Während der Installation des Zabbix Frontend legen Sie die entsprechenden Parameter im
Schritt *Datenbankverbindung konfigurieren* des Einrichtungsassistenten fest:

-   Datenbank-Host: localhost
-   Datenbankport: 1521
-   Datenbankname: ORCL
-   Benutzer: myusername
-   Passwort: mypassword

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

Alternativ können diese Parameter in der Konfigurationsdatei des Frontend
(zabbix.conf.php) festgelegt werden:

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

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

[comment]: # ({e560c5ad-fe8fa72a})
##### Net Service Name

Es ist möglich, eine Verbindung zu Oracle mithilfe des Net Service Name herzustellen.

<net\_service\_name> ist ein einfacher Name für einen Dienst, der in einen Connect Descriptor aufgelöst wird.

Um den Dienstnamen zum Erstellen einer Verbindung zu verwenden, muss dieser Dienstname in der Datei tnsnames.ora definiert sein, die sich sowohl auf dem Datenbankserver als auch auf den Client-Systemen befindet. Der einfachste Weg, um sicherzustellen, dass die Verbindung erfolgreich hergestellt wird, besteht darin, den Speicherort der Datei tnsnames.ora in der Umgebungsvariable TNS\_ADMIN zu definieren. Der Standardspeicherort der Datei tnsnames.ora ist:

    $ORACLE_HOME/network/admin/

Ein einfaches Beispiel für eine tnsnames.ora-Datei:

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

Um Konfigurationsparameter für die Verbindungsart "Net Service Name" festzulegen, verwenden Sie eine der folgenden Optionen:

-    Setzen Sie den Parameter DBHost leer und setzen Sie DBName wie gewohnt:

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

-   Setzen Sie beide Parameter und lassen Sie beide leer:

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

Im zweiten Fall muss die Umgebungsvariable TWO\_TASK gesetzt sein. Sie gibt den standardmäßigen entfernten Oracle-Dienst (Service Name) an. Wenn diese Variable definiert ist, verbindet sich der Connector mit der angegebenen Datenbank über einen Oracle Listener, der Verbindungsanforderungen akzeptiert. Diese Variable ist nur für Linux und UNIX vorgesehen. Verwenden Sie die Umgebungsvariable LOCAL für Microsoft Windows.

**Beispiel**

Verbindung zu einer Datenbank mit Net Service Name, gesetzt auf ORCL, und dem Standardport herstellen. Datenbankparameter, gesetzt in der Server- oder Proxy-Konfigurationsdatei (zabbix\_server.conf und zabbix\_proxy.conf):

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

Während der Zabbix Frontend-Installation setzen Sie die entsprechenden Parameter im Schritt *Configure DB connection* des Einrichtungsassistenten:

-   Datenbank-Host:
-   Datenbank-Port: 0
-   Datenbankname: ORCL
-   Benutzer: myusername
-   Passwort: mypassword

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

Alternativ können diese Parameter in der Frontend-Konfigurationsdatei (zabbix.conf.php) gesetzt werden:

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

Von Zabbix verwendete Verbindungszeichenfolge zum Herstellen der Verbindung:

    DBUser/DBPassword@ORCL

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

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

Zur Verbesserung der Leistung können Sie die Feldtypen von *nclob* in *nvarchar2* konvertieren, siehe [bekannte Probleme](/manual/installation/known_issues#slow-configuration-sync-with-oracle).

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