Troubleshooting
Problem
Installation of Maximo to an Oracle database fails during updatedb. ORA-00604: a recursive SQL level 1 error has occurred message is seen in the logs on an attempted NULL insert.
This can be seen on other fields to the example shown below.
Example error in updatedb
* freeform: Populate MAXINTLISTENER Table * / insert into maxintlistener (objectname, listenerclassname, eventname, ifacename, intobjectname, userdefined, changeby, changedate, maxintlistenerid) values ('MAXOBJECTCFG', 'psdi.iface.listener.ObjectCfgListenerHandler', 'eventValidate', null, null, 0, 'MAXIMO ', sysdate, maxintlistenerseq.nextval) ; // Failed. ERROR: BMXAA7025E - Script failed while running .; A statement failed to execute inside a freeform statement; ORA-00604: a recursive SQL level 1 error has occurred ORA-00933: SQL command not completed successfully ORA-06512: online 22 ORA-01400: A NULL insert can not be made on ("MAXDESA3TV2". "MAXINTLISTENER". "ISINSERT")
Cause
The insert should always fail. There's required columns defined on the table that are not included in the insert statement (isinsert, isupdate, & isdelete).
Normally this isn't a problem, since the DBChange code catches the "missing required column" error (ORA-01400). The code creates the temporary "zx" table, fills in the missing required columns, and inserts the filled-in rows into the table.
The problem here is that the expected exception isn't thrown. Instead there's this sequence of messages:
ORA-00604: a recursive SQL level 1 error has occurred
ORA-00933: SQL command not completed successfully
ORA-06512: online 22
ORA-01400: A NULL insert can not be made on ("MAXDESA3TV2". "MAXINTLISTENER". "ISINSERT")
Resolving The Problem
This can be caused by an additional trigger having been added to this table that's trying to do something with the data from the inserted row but is failing because of the missing value for the ISINSERT column.
Was this topic helpful?
Document Information
Modified date:
30 November 2018
UID
ibm10742693