DB2 - Problem description
Problem IC64045 | Status: Closed |
DB2 ABEND OR MARK DB BAD WITH -1034 ERROR WHILE PERFORMING UPDATE AND DELETE WITH "OR" PREDICATE. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2 | |
Problem description: | |
DB2 might encounter some problem when issuing a SQL statement which has logical operator "OR" specified in the "WHERE" clause. The problem may only occur when: -- it's a DELETE/UPDATE statement and -- the logical operator "OR" is specified between 2 predicates in the WHERE clause To verify if this problem is hit, use db2exfmt to generate the explain plan file for the statement, and then search if there is a UNION operation in the optimized statement and the access plan graph contains a UNION operator with one DELETE/UPDATE operator above it. When running into this problem DB2 may have varieties of symptoms. Here are some discovered ones: -- DB2 instance crashes due to a SIGSEGV. The trace stack starts with sqldRowDelete sqlridel sqlriSectInvoke sqlrr_execute_immediate -- DB2 trapped with trap file and dump files generated, and then database is marked bad with -1034 error. | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * All users of 9.7 on Linux, Unix and Windows platforms. * **************************************************************** * PROBLEM DESCRIPTION: * * DB2 might encounter some problem when issuing a SQL * * statement which has logical operator "OR" specified in the * * "WHERE" clause. * * * * The problem may only occur when: * * -- it's a DELETE/UPDATE statement and * * -- the logical operator "OR" is specified between 2 * * predicates in the WHERE clause * * * * To verify if this problem is hit, use db2exfmt to generate * * the explain plan file for the statement, and then search if * * there is a UNION operation in the optimized statement and * * the access plan graph contains a UNION operator with one * * DELETE/UPDATE operator above it. * * * * When running into this problem DB2 may have varieties of * * symptoms. Here are some discovered ones: * * -- DB2 instance crashes due to a SIGSEGV. The trace stack * * starts with * * sqldRowDelete * * sqlridel * * sqlriSectInvoke * * sqlrr_execute_immediate * * -- DB2 trapped with trap file and dump files generated, and * * then database is marked bad with -1034 error. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 UDB Version 9.7 FixPak 1. * **************************************************************** | |
Local Fix: | |
Split the statement into two statements to perform the data modification in sequence. | |
available fix packs: | |
DB2 Version 9.7 Fix Pack 1 for Linux, UNIX, and Windows | |
Solution | |
First fixed in DB2 UDB Version 9.7 FixPak 1. | |
Workaround | |
Split the statement into two statements to perform the data modification in sequence. | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 22.10.2009 17.12.2009 17.12.2009 |
Problem solved at the following versions (IBM BugInfos) | |
9.7. | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.7.0.1 |