Нашел в у себя в записях, может кому-нибудь пригодится.
У нас при обновлении с 2.0.8 и 2.0.6 до 2.4.5 возникла проблема, при запуске свежесобранного zabbix 2.4.5 процесс обновления заканчивался ошибкой (к сожалению не сохранилось, что за ошибки возникали).
Решение следующее: необходимо в исходниках поправить несколько строчек и пересобрать zabbix.
/src/libs/zbxdbupgrade/dbupgrade.c
Строка 92:
define ZBX_TYPE_SHORTTEXT_STR "nvarchar2(2048)"
на
define ZBX_TYPE_SHORTTEXT_STR "varchar2(2048)"
/src/libs/zbxdbupgrade/dbupgrade_2010.c
Строка 172:
const ZBX_FIELD field = {"expression", "", NULL, NULL, 2048, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
на
const ZBX_FIELD field = {"expression", "", NULL, NULL, 2000, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
Строка 1544:
const ZBX_FIELD field = {"label", "", NULL, NULL, 2048, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
на
const ZBX_FIELD field = {"label", "", NULL, NULL, 2000, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
Строка 1551:
const ZBX_FIELD field = {"label", "", NULL, NULL, 2048, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
на
const ZBX_FIELD field = {"label", "", NULL, NULL, 2000, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
/src/libs/zbxdbupgrade/dbupgrade_2030.c
Строка 891:
const ZBX_FIELD field = {"error", "", NULL, NULL, 2048, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
на
const ZBX_FIELD field = {"error", "", NULL, NULL, 2000, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
Строка 946:
if (2048 < expr_offset && 2048 /* TRIGGER_EXPRESSION_LEN */ < zbx_strlen_utf8(expr))
на
if (2000 < expr_offset && 2000 /* TRIGGER_EXPRESSION_LEN */ < zbx_strlen_utf8(expr))
Строка 1044:
if (2048 < params_offset && 2048 /* ITEM_PARAM_LEN */ < zbx_strlen_utf8(params))
на
if (2000 < params_offset && 2000 /* ITEM_PARAM_LEN */ < zbx_strlen_utf8(params))
Строка 1113:
const ZBX_FIELD field = {"url", "", NULL, NULL, 2048, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
на
const ZBX_FIELD field = {"url", "", NULL, NULL, 2000, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
У нас при обновлении с 2.0.8 и 2.0.6 до 2.4.5 возникла проблема, при запуске свежесобранного zabbix 2.4.5 процесс обновления заканчивался ошибкой (к сожалению не сохранилось, что за ошибки возникали).
Решение следующее: необходимо в исходниках поправить несколько строчек и пересобрать zabbix.
/src/libs/zbxdbupgrade/dbupgrade.c
Строка 92:
define ZBX_TYPE_SHORTTEXT_STR "nvarchar2(2048)"
на
define ZBX_TYPE_SHORTTEXT_STR "varchar2(2048)"
/src/libs/zbxdbupgrade/dbupgrade_2010.c
Строка 172:
const ZBX_FIELD field = {"expression", "", NULL, NULL, 2048, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
на
const ZBX_FIELD field = {"expression", "", NULL, NULL, 2000, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
Строка 1544:
const ZBX_FIELD field = {"label", "", NULL, NULL, 2048, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
на
const ZBX_FIELD field = {"label", "", NULL, NULL, 2000, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
Строка 1551:
const ZBX_FIELD field = {"label", "", NULL, NULL, 2048, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
на
const ZBX_FIELD field = {"label", "", NULL, NULL, 2000, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
/src/libs/zbxdbupgrade/dbupgrade_2030.c
Строка 891:
const ZBX_FIELD field = {"error", "", NULL, NULL, 2048, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
на
const ZBX_FIELD field = {"error", "", NULL, NULL, 2000, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
Строка 946:
if (2048 < expr_offset && 2048 /* TRIGGER_EXPRESSION_LEN */ < zbx_strlen_utf8(expr))
на
if (2000 < expr_offset && 2000 /* TRIGGER_EXPRESSION_LEN */ < zbx_strlen_utf8(expr))
Строка 1044:
if (2048 < params_offset && 2048 /* ITEM_PARAM_LEN */ < zbx_strlen_utf8(params))
на
if (2000 < params_offset && 2000 /* ITEM_PARAM_LEN */ < zbx_strlen_utf8(params))
Строка 1113:
const ZBX_FIELD field = {"url", "", NULL, NULL, 2048, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
на
const ZBX_FIELD field = {"url", "", NULL, NULL, 2000, ZBX_TYPE_CHAR, ZBX_NOTNULL, 0};
Comment