the database scripts for creating the Zabbix database on Oracle is broken.
The source of the problems is the table definition for the table items. Two columns are leading to the problem:
params nvarchar2(2048) DEFAULT ''
description nvarchar2(2048) DEFAULT ''
Both columns are defined with a maximung length of 2048 chars. This is not enough to put in some items that are contained in the following three templates, that are included in the data.sql script:
1. Template DB Oracle by ODBC (https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/db/oracle_odbc?at=refs%2Ftags%2F5.0.12)
2. Template Server HP iLO SNMP (https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/server/hp_ilo_snmp?at=refs%2Ftags%2F5.0.12)
3. Template Tel Asterisk by HTTP (https://git.zabbix.com/projects/ZBX/repos/zabbix/browse/templates/tel/asterisk_http?at=refs%2Ftags%2F5.0.12)
With importing the according templates on a Zabbix 5.0.12 in the web frontend on a Oracle database you get the same errors. See the attached screenshots.
The Template DB Oracle by ODBC and Template Server HP iLO SNMP only affects Zabbix Version 5.0.12.
The Template Tel Asterisk by HTTP affects also the Zabbix versions 5.2.6 and 5.4.1
For the databases MySQL, PostgreSQL and SQlite the colums are defined as text. So there is no problem with the templates (compare the attached table create scripts for that databases and the oracle database).
This is realy bad, because there would be an increasing number of Zabbix Templates that would not be usable on Zabbix installations with Oracle databases.
For the first step, the according templates should be removed from the Oracle data.sql script, so that it is possible to create the database without errors.
The second step must be to find all column defintions that are shorter, than in the other supported databases and fix them. All columns must have the same
lenght (definition) to be sure that all templates are working on all supported datbases.
Steps to reproduce:
- Create empty database in Oracle
- Execute script schema.sql
- Execute script images.sql
- Execute script data.sql (generates errors)
See attached screenshots
See log file data_script_error.log