14 Oracle datubāzes iestatīšana
Pārskats
Šajā sadaļā ir sniegtas instrukcijas Oracle datubāzes izveidei un savienojumu konfigurēšanai starp datubāzi un Zabbix serveri, starpniekserveri un lietotāja saskarni.
Oracle DB atbalsts ir novecojis kopš Zabbix 7.0.
Datu bāzes izveide
Pieņemam, ka pastāv zabbix datubāzes lietotājs ar paroli password un ka tam ir tiesības izveidot datubāzes objektus ORCL servisā, kas atrodas uz host Oracle datubāzes servera. Zabbix nepieciešams Unicode datubāzes rakstzīmju kopums un UTF8 nacionālais rakstzīmju kopums. Pārbaudiet pašreizējos iestatījumus:
sqlplus> select parameter,value from v$nls_parameters where parameter='NLS_CHARACTERSET' or parameter='NLS_NCHAR_CHARACTERSET';
Tagad sagatavojiet datubāzi:
cd /path/to/zabbix-sources/database/oracle
sqlplus zabbix/password@oracle_host/ORCL
sqlplus> @schema.sql
# apstājieties šeit, ja veidojat datubāzi Zabbix starpniekserverim
sqlplus> @images.sql
sqlplus> @data.sql
Lūdzu, iestatiet inicializācijas parametru CURSOR_SHARING=FORCE, lai nodrošinātu vislabāko veiktspēju.
Savienojuma iestatīšana
Zabbix atbalsta divu veidu savienojuma identifikatorus (savienojuma metodes):
- Easy Connect
- Net Service Name
Savienojuma konfigurācijas parametrus Zabbix serverim un Zabbix starpniekserverim var iestatīt konfigurācijas failos. Svarīgi parametri serverim un starpniekserverim ir DBHost, DBUser, DBName un DBPassword. Tie paši parametri ir svarīgi lietotāja saskarnei: $DB["SERVER"], $DB["PORT"], $DB["DATABASE"], $DB["USER"], $DB["PASSWORD"].
Zabbix izmanto šādu savienojuma virknes sintaksi:
{DBUser/DBPassword[@<connect_identifier>]}
<connect_identifier> var norādīt vai nu formā "Net Service Name", vai "Easy Connect".
@[[//]Host[:Port]/<service_name> | <net_service_name>]
Easy Connect
Easy Connect izmanto šādus parametrus, lai izveidotu savienojumu ar datubāzi:
- Host - datubāzes servera datora resursdatora nosaukums vai IP adrese (DBHost parametrs konfigurācijas failā).
- Port - klausīšanās ports datubāzes serverī (DBPort parametrs konfigurācijas failā; ja nav iestatīts, tiks izmantots noklusējuma 1521 ports).
- <service_name> - datubāzes pakalpojuma nosaukums, kuram vēlaties piekļūt (DBName parametrs konfigurācijas failā).
Piemērs
Datubāzes parametri, kas iestatīti servera vai starpniekserveris konfigurācijas failā (zabbix_server.conf un zabbix_proxy.conf):
DBHost=localhost
DBPort=1521
DBUser=myusername
DBName=ORCL
DBPassword=mypassword
Savienojuma virkne, ko Zabbix izmanto savienojuma izveidei:
DBUser/DBPassword@DBHost:DBPort/DBName
Zabbix lietotāja saskarne instalēšanas laikā iestatiet atbilstošos parametrus iestatīšanas vedņa solī Configure DB connection:
- Datubāzes hosts: localhost
- Datubāzes ports: 1521
- Datubāzes nosaukums: ORCL
- Lietotājs: myusername
- Parole: mypassword

Alternatīvi šos parametrus var iestatīt lietotāja saskarnes konfigurācijas failā (zabbix.conf.php):
$DB["TYPE"] = 'ORACLE';
$DB["SERVER"] = 'localhost';
$DB["PORT"] = '1521';
$DB["DATABASE"] = 'ORCL';
$DB["USER"] = 'myusername';
$DB["PASSWORD"] = 'mypassword';
Net service name
Ir iespējams izveidot savienojumu ar Oracle, izmantojot net service name.
<net_service_name> ir vienkāršs pakalpojuma nosaukums, kas tiek atrisināts par savienojuma deskriptoru.
Lai izmantotu pakalpojuma nosaukumu savienojuma izveidei, šim pakalpojuma nosaukumam jābūt definētam tnsnames.ora failā, kas atrodas gan datubāzes serverī, gan klienta sistēmās. Vienkāršākais veids, kā pārliecināties, ka savienojums izdosies, ir norādīt tnsnames.ora faila atrašanās vietu TNS_ADMIN vides mainīgajā. Noklusējuma tnsnames.ora faila atrašanās vieta ir:
$ORACLE_HOME/network/admin/
Vienkāršs tnsnames.ora faila piemērs:
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = localhost)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
Lai iestatītu konfigurācijas parametrus savienojuma metodei "Net Service Name", izmantojiet vienu no šīm iespējām:
- Iestatiet tukšu parametru DBHost un iestatiet DBName kā parasti:
<!-- -->
DBHost=
DBName=ORCL
- Iestatiet abus parametrus un atstājiet abus tukšus:
<!-- -->
DBHost=
DBName=
Otrajā gadījumā jābūt iestatītam TWO_TASK vides mainīgajam. Tas norāda noklusējuma attālo Oracle pakalpojumu (service name). Kad šis mainīgais ir definēts, savienotājs izveido savienojumu ar norādīto datubāzi, izmantojot Oracle listener, kas pieņem savienojuma pieprasījumus. Šis mainīgais ir paredzēts lietošanai tikai Linux un UNIX vidē. Microsoft Windows izmantojiet LOCAL vides mainīgo.
Piemērs
Savienojums ar datubāzi, izmantojot Net Service Name, kas iestatīts kā ORCL, un noklusējuma portu. Datubāzes parametri iestatīti servera vai starpniekserveris konfigurācijas failā (zabbix_server.conf un zabbix_proxy.conf):
DBHost=
#DBPort=
DBUser=myusername
DBName=ORCL
DBPassword=mypassword
Zabbix lietotāja saskarne instalēšanas laikā attiecīgos parametrus iestatiet iestatīšanas vedņa solī Configure DB connection:
- Datubāzes hosts:
- Datubāzes ports: 0
- Datubāzes nosaukums: ORCL
- Lietotājs: myusername
- Parole: mypassword

Alternatīvi šos parametrus var iestatīt lietotāja saskarne konfigurācijas failā (zabbix.conf.php):
$DB["TYPE"] = 'ORACLE';
$DB["SERVER"] = '';
$DB["PORT"] = '0';
$DB["DATABASE"] = 'ORCL';
$DB["USER"] = 'myusername';
$DB["PASSWORD"] = 'mypassword';
Savienojuma virkne, ko Zabbix izmanto savienojuma izveidei:
DBUser/DBPassword@ORCL
Zināmās problēmas
Lai uzlabotu veiktspēju, varat konvertēt lauku tipus no nclob uz nvarchar2, skatiet zināmās problēmas.