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

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

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

Questa sezione contiene istruzioni per creare un database Oracle e
configurare le connessioni tra il database e il server Zabbix, il proxy e il frontend.

::: noteimportant
Il supporto per Oracle DB è deprecato a partire da Zabbix 7.0.
:::

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

[comment]: # ({c92b69bb-2fd36a67})
#### Creazione del database

Si presume che esista un utente del database *zabbix* con password *password* e che disponga dei permessi per creare oggetti del database nel servizio ORCL situato sul server di database Oracle *host*. Zabbix richiede un set di caratteri Unicode per il database e un set di caratteri nazionali `UTF8`. Verificare le impostazioni correnti:

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

Ora preparare il database:

    cd /path/to/zabbix-sources/database/oracle
    sqlplus zabbix/password@oracle_host/ORCL
    sqlplus> @schema.sql
    # fermarsi qui se si sta creando il database per Zabbix proxy
    sqlplus> @images.sql
    sqlplus> @data.sql

::: notetip
Impostare il parametro di inizializzazione
CURSOR\_SHARING=FORCE per ottenere le migliori prestazioni.
:::

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

[comment]: # ({e0890d7f-db4ecc98})
#### Configurazione della connessione

Zabbix supporta due tipi di identificatori di connessione (metodi di connessione):

-   Easy Connect
-   Net Service Name

I parametri di configurazione della connessione per server Zabbix e proxy Zabbix
possono essere impostati nei file di configurazione. I parametri importanti per il
server e il proxy sono *DBHost*, *DBUser*, *DBName* e *DBPassword*. Gli
stessi parametri sono importanti per il frontend: *$DB\["SERVER"\]*,
*$DB\["PORT"\]*, *$DB\["DATABASE"\]*, *$DB\["USER"\]*,
*$DB\["PASSWORD"\]*.

Zabbix usa la seguente sintassi della stringa di connessione:

    {DBUser/DBPassword[@<connect_identifier>]} 

<connect\_identifier> può essere specificato sia nel formato "Net
Service Name" sia in quello "Easy Connect".

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

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

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

Easy Connect utilizza i seguenti parametri per connettersi al database:

-   *Host* - il nome host o l'indirizzo IP del computer del server database
    (parametro DBHost nel file di configurazione).
-   *Port* - la porta in ascolto sul server database (parametro DBPort nel file
    di configurazione; se non impostata, verrà utilizzata la porta predefinita
    1521).
-   <service\_name> - il nome del servizio del database a cui si desidera
    accedere (parametro DBName nel file di configurazione).

**Esempio**

Parametri del database impostati nel file di configurazione del server o del proxy
(zabbix\_server.conf e zabbix\_proxy.conf):

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

Stringa di connessione utilizzata da Zabbix per stabilire la connessione:

    DBUser/DBPassword@DBHost:DBPort/DBName

Durante l'installazione di Zabbix frontend, impostare i parametri corrispondenti
nel passaggio *Configure DB connection* della procedura guidata di configurazione:

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

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

In alternativa, questi parametri possono essere impostati nel file di configurazione
del frontend (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})
##### Nome del servizio Net

È possibile connettersi a Oracle utilizzando il net service name.

<net\_service\_name> è un nome semplice per un servizio che viene risolto in un connect descriptor.

Per utilizzare il nome del servizio per creare una connessione, questo nome di servizio deve essere definito nel file tnsnames.ora presente sia sul database server sia sui sistemi client. Il modo più semplice per assicurarsi che la connessione abbia successo è definire la posizione del file tnsnames.ora nella variabile di ambiente TNS\_ADMIN. La posizione predefinita del file tnsnames.ora è:

    $ORACLE_HOME/network/admin/

Un semplice esempio di file tnsnames.ora:

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

Per impostare i parametri di configurazione per il metodo di connessione "Net Service Name", utilizzare una delle seguenti opzioni:

-    Impostare un parametro DBHost vuoto e impostare DBName come di consueto:

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

-   Impostare entrambi i parametri e lasciarli entrambi vuoti:

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

Nel secondo caso, la variabile di ambiente TWO\_TASK deve essere impostata. Essa specifica il servizio Oracle remoto predefinito (service name). Quando questa variabile è definita, il connettore si connette al database specificato utilizzando un listener Oracle che accetta le richieste di connessione. Questa variabile è destinata all'uso solo su Linux e UNIX. Utilizzare la variabile di ambiente LOCAL per Microsoft Windows.

**Esempio**

Connessione a un database utilizzando Net Service Name impostato come ORCL e la porta predefinita. Parametri del database impostati nel file di configurazione del server o proxy (zabbix\_server.conf e zabbix\_proxy.conf):

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

Durante l'installazione di Zabbix frontend, impostare i parametri corrispondenti nel passaggio *Configure DB connection* della procedura guidata di configurazione:

-   Database host:
-   Database port: 0
-   Database name: ORCL
-   User: myusername
-   Password: mypassword

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

In alternativa, questi parametri possono essere impostati nel file di configurazione del frontend (zabbix.conf.php):

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

Stringa di connessione utilizzata da Zabbix per stabilire la connessione:

    DBUser/DBPassword@ORCL

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

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

Per migliorare le prestazioni, è possibile convertire i tipi di campo da *nclob* a *nvarchar2*, vedere [problemi noti](/manual/installation/known_issues#slow-configuration-sync-with-oracle).

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