[comment]: # translation:outdated

[comment]: # ({710cea74-710cea74})
# 12 Konfiguracja bazy danych Oracle

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

[comment]: # ({c3411fd2-c3411fd2})
#### Przegląd

Ta sekcja zawiera instrukcje dotyczące tworzenia bazy danych Oracle oraz 
konfigurowania połączeń między bazą danych a serwerem Zabbix, proxy 
i frontendem.

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

[comment]: # ({25ccb612-2fd36a67})
### Tworzenie bazy danych

Zakładamy, że użytkownik bazy danych *zabbix* z hasłem *password* istnieje 
i ma uprawnienia do tworzenia obiektów bazodanowych w usłudze ORCL znajdującej się 
na serwerze bazy danych Oracle *host*. Zabbix wymaga zestawu znaków Unicode 
i narodowego zestawu znaków `UTF8`. Sprawdź bieżące 
ustawienia:

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

Teraz przygotuj bazę danych:

    cd /path/to/zabbix-sources/database/oracle
    sqlplus zabbix/password@oracle_host/ORCL
    sqlplus> @schema.sql
    # zatrzymaj się tutaj, jeśli tworzysz bazę danych dla Zabbix proxy
    sqlplus> @images.sql
    sqlplus> @data.sql

::: notetip
Proszę ustawić parametr inicjalizacji 
CURSOR\_SHARING=FORCE dla najlepszej wydajności.
:::

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

[comment]: # ({db4ecc98-db4ecc98})
### Konfiguracja połączenia

Zabbix obsługuje dwa rodzaje identyfikatorów połączeń (metody połączenia):

-   Easy Connect
-   Net Service Name

Parametry konfiguracji połączenia dla serwera Zabbix i proxy Zabbix 
można ustawić w plikach konfiguracyjnych. Ważne parametry dla serwera 
i proxy to *DBHost*, *DBUser*, *DBName* i *DBPassword*. Te same 
parametry są ważne dla frontend: *$DB\["SERVER"\]*, 
*$DB\["PORT"\]*, *$DB\["DATABASE"\]*, *$DB\["USER"\]*, 
*$DB\["PASSWORD"\]*.

Zabbix używa następującej składni ciągu połączenia:

    {DBUser/DBPassword[@<connect_identifier>]} 

<connect\_identifier> może być określony w formie "Net 
Service Name" lub "Easy Connect".

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

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

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

Easy Connect używa następujących parametrów do połączenia się z bazą danych:

-   *Host* - nazwa hosta lub adres IP komputera serwera bazy danych 
    (parametr DBHost w pliku konfiguracyjnym).
-   *Port* - port nasłuchiwania na serwerze bazy danych (parametr DBPort 
    w pliku konfiguracyjnym; jeśli nie jest ustawiony, używany będzie domyślny port 
    1521).
-   <service\_name> - nazwa usługi bazy danych, do której chcesz uzyskać 
    dostęp (parametr DBName w pliku konfiguracyjnym).

**Przykład:**

Parametry bazy danych ustawione w pliku konfiguracyjnym serwera lub proxy 
(zabbix\_server.conf i zabbix\_proxy.conf):

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

Ciąg połączenia używany przez Zabbix do nawiązania połączenia:

    DBUser/DBPassword@DBHost:DBPort/DBName

Podczas instalacji frontendu Zabbix, ustaw odpowiednie parametry w 
kroku *Konfiguruj połączenie DB* kreatora konfiguracji:

-   Host bazy danych: localhost
-   Port bazy danych: 1521
-   Nazwa bazy danych: ORCL
-   Użytkownik: myusername
-   Hasło: mypassword

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

Alternatywnie, te parametry można ustawić w pliku konfiguracyjnym 
frontendu (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})
##### Net Service Name

Od wersji Zabbix 5.4.0 możliwe jest nawiązanie połączenia z Oracle za pomocą net
service name.

<net\_service\_name> to prosty identyfikator dla usługi, który rozwiązuje się 
do deskryptora połączenia.

Aby używać nazwy usługi do tworzenia połączenia, ta nazwa usługi 
musi być zdefiniowana w pliku tnsnames.ora znajdującym się zarówno 
na serwerze bazy danych, jak i na systemach klientów. Najprostszym sposobem 
zapewnienia, że połączenie będzie udane, jest zdefiniowanie lokalizacji pliku 
tnsnames.ora w zmiennej środowiskowej TNS\_ADMIN. Domyślna 
lokalizacja pliku tnsnames.ora to:

    $ORACLE_HOME/network/admin/

Prosty przykład pliku tnsnames.ora:

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

Aby ustawić parametry konfiguracji dla metody połączenia "Net Service Name", 
użyj jednej z poniższych opcji:

-   Ustaw pusty parametr DBHost i ustaw DBName jak zwykle:

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

-   Ustaw oba parametry i pozostaw oba puste:

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

W drugim przypadku zmienna środowiskowa TWO\_TASK musi być ustawiona. Określa 
domyślną zdalną usługę Oracle (nazwę usługi). Gdy ta zmienna jest 
zdefiniowana, connector łączy się z określoną bazą danych, korzystając 
z Oracle listener, który akceptuje żądania połączenia. Ta zmienna jest 
przeznaczona tylko dla systemów Linux i UNIX. Na systemach Microsoft Windows 
użyj zmiennej środowiskowej LOCAL.

**Przykład:**

Nawiąż połączenie z bazą danych za pomocą Net Service Name jako ORCL i domyślnego 
portu. Parametry bazy danych ustawione w pliku konfiguracyjnym serwera lub proxy 
(zabbix\_server.conf i zabbix\_proxy.conf):

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

Podczas instalacji frontendu Zabbix, ustaw odpowiednie parametry w 
kroku *Konfiguruj połączenie DB* kreatora konfiguracji:

-   Host bazy danych:
-   Port bazy danych: 0
-   Nazwa bazy danych: ORCL
-   Użytkownik: myusername
-   Hasło: mypassword

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

Alternatywnie, te parametry można ustawić w pliku konfiguracyjnym 
frontendu (zabbix.conf.php):

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

Ciąg połączenia używany przez Zabbix do nawiązania połączenia:

    DBUser/DBPassword@ORCL

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

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

Aby poprawić wydajność, można przekonwertować typy pól z *nclob* na *nvarchar2*, Sprawdź [znane problemy](/manual/installation/known_issues#slow-configuration-sync-with-oracle).

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