[comment]: # translation:outdated

[comment]: # ({710cea74-710cea74})
# 12 Configuración de la base de datos Oracle

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

[comment]: # ({c3411fd2-c3411fd2})
#### Descripción general

Esta sección contiene instrucciones para crear una base de datos Oracle y
configurar conexiones entre la base de datos y el servidor Zabbix, proxy,
e interfaz.

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

[comment]: # ({25ccb612-2fd36a67})
### Creación de base de datos

Suponemos que existe un usuario de base de datos *zabbix* con la contraseña *password* 
y tiene permisos para crear objetos de base de datos en el servicio ORCL ubicado
en el servidor de base de datos Oracle *host*. Zabbix requiere una base de datos con el
juego de caracteres Unicode y un juego de caracteres nacional `UTF8`. Verifique los
ajustes actuales:

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

Ahora prepare la base de datos:

    cd /path/to/zabbix-sources/database/oracle
    sqlplus zabbix/password@oracle_host/ORCL
    sqlplus> @schema.sql
    # deténgase aquí si está creando una base de datos para el proxy Zabbix
    sqlplus> @images.sql
    sqlplus> @data.sql

::: notetip
Por favor configure el parámetro de inicialización
CURSOR\_SHARING=FORCE para obtener un mejor rendimiento.
:::

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

[comment]: # ({db4ecc98-db4ecc98})
### Configuración de la conexión

Zabbix admite dos tipos de identificadores de conexión (métodos de conexión):

- Conexión fácil
- Nombre del servicio de red

Los parámetros de configuración de conexión para el servidor Zabbix y el proxy Zabbix
se pueden configurar en los archivos de configuración. Los parámetros importantes para el
servidor y el proxy son *DBHost*, *DBUser*, *DBName* y *DBPassword*.
Los mismos parámetros son importantes para la interfaz: *$DB\["SERVER"\]*,
*$DB\["PORT"\]*, *$DB\["DATABASE"\]*, *$DB\["USER"\]*,
*$DB\["PASSWORD"\]*.

Zabbix utiliza la siguiente sintaxis de cadena de conexión:

    {DBUser/DBPassword[@<connect_identifier>]} 

<connect\_identifier> se puede especificar en forma de "Nombre del servicio de red" o "Conexión fácil".

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

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

[comment]: # ({ed80a373-ed80a373})
#### Conexión fácil

Easy Connect utiliza los siguientes parámetros para conectarse a la base de datos:

- *Host* - el nombre de equipo o dirección IP de la computadora servidor de la base de datos
    (Parámetro DBHost en el archivo de configuración).
- *Puerto* - el puerto de escucha en el servidor de la base de datos (parámetro DBPort
    en el archivo de configuración; Si no se configura, el puerto predeterminado 1521 será
    usado).
- <servicio\_nombre>: el nombre del servicio de la base de datos que desea
    acceso (parámetro DBName en el archivo de configuración).

**Ejemplo:**

Parámetros de la base de datos establecidos en el archivo de configuración del servidor o proxy
(zabbix\_server.conf y zabbix\_proxy.conf):

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

Cadena de conexión utilizada por Zabbix para establecer la conexión:

    DBUser/DBPassword@DBHost:DBPort/DBName

Durante la instalación de la interfaz de Zabbix, configure los parámetros correspondientes en
el paso *Configurar conexión de base de datos* del asistente de configuración:

-   Host de base de datos: localhost
-   Puerto de base de datos: 1521
-   Nombre de la base de datos: ORCL
-   Usuario: myusername
-   Contraseña: mypassword

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

Alternativamente, estos parámetros se pueden establecer en el archivo de configuración de la interfaz  (zabbix.conf.php):

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

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

[comment]: # ({9f0ccdfd-fe8fa72a})
#### Nombre del servicio de red

Desde Zabbix 5.4.0 es posible conectarse a Oracle mediante el
Nombre del Servicio de red.

<net\_service\_name> es un nombre simple para un servicio que resuelve
a un descriptor de conexión.

Para utilizar el nombre del servicio para crear una conexión, este nombre de
servicio debe definirse en el archivo tnsnames.ora ubicado tanto en el
servidor de base de datos y los sistemas cliente. La manera más fácil de asegurarse
que la conexión tendrá éxito es definir la ubicación de
tnsnames.ora en la variable de entorno TNS\_ADMIN. El valor por defecto
de la ubicación del archivo tnsnames.ora es:

    $ORACLE_HOME/network/admin/

Un ejemplo sencillo del archivo tnsnames.ora:

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

Para establecer los parámetros de configuración para el método de conexión "Nombre del servicio de red", utilice una de las siguientes opciones:

- Establezca un parámetro DBHost vacío y configure DBName como de costumbre:

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

- Establece ambos parámetros y deje ambos vacíos:

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

En el segundo caso, se debe configurar la variable de entorno TWO\_TASK. 
Especifica el servicio remoto predeterminado de Oracle (nombre del servicio). Cuando 
se define la variable, el conector se conecta a la base de datos especificada 
utilizando un escuchador de Oracle que acepta solicitudes de conexión. Esta variable
es para uso únicamente en Linux y UNIX. Utilice la variable de entorno LOCAL
para Microsoft Windows.

**Ejemplo:**

Conéctese a una base de datos usando el nombre del servicio de red configurado como ORCL y el valor del puert predeterminado. Los parámetros de la base de datos establecidos en el archivo de configuración del servidor o proxy
(zabbix\_server.conf y zabbix\_proxy.conf):

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

Durante la instalación del frontend de Zabbix, configure los parámetros correspondientes en
el paso *Configurar conexión de base de datos* del asistente de configuración:

- Host de base de datos:
- Puerto de base de datos: 0
- Nombre de la base de datos: ORCL
- Usuario: myusername
- Contraseña: mypassword

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

Alternativamente, estos parámetros se pueden establecer en la configuración del frontend.
archivo (zabbix.conf.php):

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

La cadena de conexión utilizada por Zabbix para establecer la conexión:

    DBUser/DBPassword@ORCL

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

[comment]: # ({74be0d8b-b56155a3})
#### Problemas conocidos

Para mejorar el rendimiento, puede convertir los tipos de campo de *nclob* a *nvarchar2*, consulte [problemas conocidos](/manual/installation/known_issues#slow-configuration-sync-with-oracle).

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