-
Problem report
-
Resolution: Fixed
-
Trivial
-
5.2.4
-
Sprint 73 (Feb 2021)
-
0.125
Hi
We use Oracle database as Zabbix backend database
we updated Zabbix from 5.0.1 to 5.2.4
Now when i want to remove or change role of a user that has "Super admin role" role these errors are appears
- SQL error [ORA-00933: SQL command not properly ended] in [SELECT NULL FROM users u WHERE u.roleid=3 AND u.userid!=61 AND EXISTS(SELECT NULL FROM usrgrp g,users_groups ug WHERE g.usrgrpid=ug.usrgrpid AND ug.userid=u.userid GROUP BY ug.userid HAVING MAX(g.gui_access)<3 AND MAX(g.users_status)=0) LIMIT 1]
- oci_fetch_assoc(): ORA-24374: define not done before fetch or execute and fetch [zabbix.php:22 → require_once() → ZBase->run() → ZBase->processRequest() → CController->run() → CControllerUserDelete->doAction() → CApiWrapper->__call() → CFrontendApiWrapper->callMethod() → CApiWrapper->callMethod() → CFrontendApiWrapper->callClientMethod() → CLocalApiClient->callMethod() → CUser->delete() → CUser->validateDelete() → DBfetch() → oci_fetch_assoc() in include/db.inc.php:409]
- At least one active user must exist with role "Super admin role".
finally i found what is the problem...
Oracle not use familiar LIMIT syntax and zabbix use LIMIT in this query
how can i solve this problem???
https://www.zabbix.com/forum/zabbix-troubleshooting-and-problems/418769-problem-zabbix-5-2-4-with-oracle-database