DB2 - Problem description
| Problem IC80403 | Status: Closed |
DB2 INSTANCE CRASH WHEN UPDATE, DELETE, OR INSERT STATEMENT ACTIVATES A RECURSIVE CALL-IN-TRIGGER | |
| product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
| Problem description: | |
This problem may occur when all of the following circumstances
apply:
- Your database defines a trigger that calls an SQL procedure.
- The SQL procedure called by the trigger contains an UPDATE,
DELETE, or INSERT statement to which the same trigger applies.
- The SQL procedure has been previously invalidated; for
example, due to an ALTER TABLE statement that modified the
definition of a table on which the SQL procedure depends.
- The AUTO_REVAL configuration parameter for the database is
DISABLED.
Your DB2 instance may then terminate abnormally with error
SQL1224N, if you execute an UPDATE, DELETE, or INSERT statement
that activates the trigger.
Here's a sample of the db2diag.log entries i.e.
<snip>
2011-11-07-19.10.23.731000-480 E204936F722 LEVEL: Info
(Origin)
PID : 3492 TID : 1072 PROC :
db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : xxxxxx
APPHDL : 0-7 APPID: *LOCAL.DB2.111108024701
AUTHID : xxxxxxxx
EDUID : 1072 EDUNAME: db2agent (xxxxxx) 0
FUNCTION: DB2 UDB, SW- common services, sqlnn_regen_function,
probe:1
DATA #1 : String, 0 bytes
Object not dumped: Address: 0x0000000000000000 Size: 0 Reason:
Address is NULL
DATA #2 : String, 0 bytes
Object not dumped: Address: 0x0000000000000000 Size: 0 Reason:
Address is NULL
DATA #3 : String, 8 bytes
TMWIN
DATA #4 : String, 18 bytes
SQL110105215311800
2011-11-07-19.10.23.762000-480 E205660F722 LEVEL: Info
(Origin)
PID : 3492 TID : 1072 PROC :
db2syscs.exe
INSTANCE: DB2 NODE : 000 DB : xxxxxx
APPHDL : 0-7 APPID: *LOCAL.DB2.111108024701
AUTHID : xxxxxxxx
EDUID : 1072 EDUNAME: db2agent (xxxxxx) 0
FUNCTION: DB2 UDB, SW- common services, sqlnn_regen_function,
probe:1
DATA #1 : String, 0 bytes
Object not dumped: Address: 0x0000000000000000 Size: 0 Reason:
Address is NULL
DATA #2 : String, 0 bytes
Object not dumped: Address: 0x0000000000000000 Size: 0 Reason:
Address is NULL
DATA #3 : String, 8 bytes
TMWIN
DATA #4 : String, 18 bytes
SQL110105215311800
If a DB2 trace is taken, it will show a massive number of calls
in sqlnn_regen_function().
For example,
% grep -i sqlnn_regen_function trace.flw | grep -i entry |wc -l
244
% grep -i sqlrlDescendInvalidHiearchy trace.flw |wc -l
251
where sqlnn_regen_function calls sqlrlDescendInvalidHiearchy,
and it calls sqlnn_regen_function over and over again.
Note: the trap file generated by the crash will be zero byte in
size. | |
| Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * Without this APAR, customer is exposed to the issue as * * described in the "ERROR DESCRIPTION" section. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 9.7, Fixpack 6. * **************************************************************** | |
| Local Fix: | |
| available fix packs: | |
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows | |
| Solution | |
First fixed in DB2 Version 9.7, Fixpack 6. | |
| Workaround | |
not known / see Local fix | |
| BUG-Tracking | |
forerunner : APAR is sysrouted TO one or more of the following: IC87835 follow-up : | |
| Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 13.12.2011 18.07.2012 18.07.2012 |
| Problem solved at the following versions (IBM BugInfos) | |
9.7.FP6 | |
| Problem solved according to the fixlist(s) of the following version(s) | |
| 9.7.0.6 |
|