-
Type:
Problem report
-
Resolution: Unresolved
-
Priority:
Trivial
-
None
-
Affects Version/s: 7.0.23
-
Component/s: Server (S)
When Zabbix Server uses Oracle as the database backend, the server log repeatedly shows errors like:
[Z3008] query failed due to primary key constraint: ORA-06550
Message refers to a primary key, but problem is that Oracle rejects empty PL/SQL blocks sent by the server in cases where discovery finds no changes to apply.
Many code paths use zbx_db_begin_multiple_update() / zbx_db_end_multiple_update() from include/zbxdbhigh.h (lines 141–147). These build batched UPDATE/DELETE statements inside a PL/SQL block. When a given iteration has no changes, only the empty block is executed:
begin end;