DB2 - Problem description
Problem IC77913 | Status: Closed |
DB2 CRASHES WHILE LOADING INTO THE FACT 'PARTITIONED BY' TABLE WITH AT LEAST ONE PARTITION DETACHED. | |
product: | |
DB2 FOR LUW / DB2FORLUW / 950 - DB2 | |
Problem description: | |
db2 crash each time when trying to load into a table, if : - Range Partition (RP) table, with at least one detached range - Compression enabled, and at least one of the ranges missing dictionary - LOAD INSERT - Detach partition in any tablespace configuration will hit the problem. - You are using IBM DB2 v95fp7 (and beyond). It is not present in v97 any fixpack and is not present in v95fp6 and before that. In this case LOAD will try to create a dictionary. During that it will attempt to access structures for partition that does not exist. So we panic on NULL dereference. STACK Generated : 0 sqluCTable::RefreshBMPFixCB 1 sqlulAdcTableScanner 2 sqluCTableScanner::iRun 3 sqluLoadEDUDriver 4 sqloEDUEntry | |
Problem Summary: | |
**************************************************************** * USERS AFFECTED: * * Users using IBM DB2 v95fp7 (and beyond). It is not present * * in v97 any fixpack and is not present in v95fp6 and before. * * that. * **************************************************************** * PROBLEM DESCRIPTION: * * db2 crash each time when trying to load into a table, if : * * * * - Range Partition (RP) table, with at least one detached * * range * * * * - Compression enabled, and at least one of the ranges * * missing * * dictionary * * * * - LOAD INSERT * * * * - Detach partition in any tablespace configuration will hit * * the * * problem. * * * * - You are using IBM DB2 v95fp7 (and beyond). It is not * * present * * in v97 any fixpack and is not present in v95fp6 and before * * that. * * * * In this case LOAD will try to create a dictionary. During * * that * * it will attempt to access structures for partition that does * * not * * exist. So we panic on NULL dereference. * * * * STACK Generated : * * * * 0 sqluCTable::RefreshBMPFixCB * * 1 sqlulAdcTableScanner * * 2 sqluCTableScanner::iRun * * 3 sqluLoadEDUDriver * * 4 sqloEDUEntry * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 v95fp9 * **************************************************************** | |
Local Fix: | |
Any of the following operation can be used to work around the problem: 1. Fill in "detached gaps" in RP table. For all partitions that are detached, finalize index cleanup (can be seen via LIST UTILITIES), and then add dummy partition (via ALTER TABLE ADD PARTITION) that does not hold any data. The idea is to fill in all gaps in partition ids - see DATAPARTITIONID column from SYSCAT.DATAPARTITIONS output. 2. Disable compression for duration of LOAD. That way LOAD will not try to build dictionary, and avoid erroneous codepath. ALTER TABLE COMPRESS NO LOAD INSERT ALTER TABLE COMPRESS YES 2a. Alternatively, create dictionaries for all defined ranges. That way LOAD will not try to create one. However, all ranges (even empty ones) have to have a dictionary! 3. Avoid LOAD in the first place. IMPORT command should be executed from client located on the server, to improve performance. EXPORT TO stage.ixf OF IXF SELECT * FROM <cursorname> IMPORT FROM stage.ixf OF IXF INSERT INTO <tablename> | |
available fix packs: | |
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows | |
Solution | |
Workaround | |
not known / see Local fix | |
Timestamps | |
Date - problem reported : Date - problem closed : Date - last modified : | 04.08.2011 08.03.2012 08.03.2012 |
Problem solved at the following versions (IBM BugInfos) | |
9.5.FP9 | |
Problem solved according to the fixlist(s) of the following version(s) | |
9.5.0.9 |