home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Latest versionsfixlist
11.1.0.7 FixList
10.5.0.9 FixList
10.1.0.6 FixList
9.8.0.5 FixList
9.7.0.11 FixList
9.5.0.10 FixList
9.1.0.12 FixList
Have problems? - contact us.
Register for free anmeldung-x26
Contact form kontakt-x26

DB2 - Problem description

Problem IC74356 Status: Closed

ALTER TABLE ... DROP DISTRIBUTION CAUSES CATALOG CORRUPTION WHEN 5+ COLUMNS
ARE PART OF THE PARTITIONING KEY

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
If you issue the ALTER TABLE ... DROP DISTRIBUTION on a table 
that has 5 or more columns in the partitioning key, it will 
cause corruption in the internal table packed descriptor.  The 
corruption may not seem apparent until the next time you attempt 
to alter or drop the table. 
 
When you try to alter or drop the table, you will receive a 
SQL0901N error with the following message: 
 
2010-12-10-08.41.35.746777-480 I10075022A859      LEVEL: Severe 
PID     : 966724               TID  : 25960       PROC : db2sysc 
0 
INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE 
APPHDL  : 0-294                APPID: 
128.09.208.34.38231.10121012203 
AUTHID  : SAPTST 
EDUID   : 25960                EDUNAME: db2agent (WQ1) 0 
FUNCTION: DB2 UDB, relation data serv, sqlrr_dump_ffdc, 
probe:300 
DATA #1 : SQLCA, PD_DB2_TYPE_SQLCA, 136 bytes 
 sqlcaid : SQLCA     sqlcabc: 136   sqlcode: -901   sqlerrml: 36 
 sqlerrmc: Unexpected missing data partition ID 
 sqlerrp : SQLRL4BF 
 sqlerrd : (1) 0x00000000      (2) 0x00000000      (3) 
0x00000000 
           (4) 0x00000000      (5) 0xFFFFFE0C      (6) 
0x00000000 
 sqlwarn : (1)      (2)      (3)      (4)        (5)       (6) 
 
           (7)      (8)      (9)      (10)        (11) 
 sqlstate: 
 
 
Additionally, you will find the following db2diag.log entries 
that will help identify this problem. 
 
2010-12-10-08.41.35.940680-480 E10130905A718      LEVEL: Info 
(Origin) 
PID     : 966724               TID  : 25960       PROC : db2sysc 
0 
INSTANCE: db2inst1             NODE : 000         DB   : SAMPLE 
APPHDL  : 0-294                APPID: 
128.09.208.34.38231.10121012203 
AUTHID  : SAPTST 
EDUID   : 25960                EDUNAME: db2agent (WQ1) 0 
FUNCTION: DB2 UDB, SW- common services, sqlnn_cmpl, probe:650 
MESSAGE : ZRC=0x803100AF=-2144272209=SQLNN_E_BADNEWS 
          "unexpected error but state is OK" 
DATA #1 : String, 185 bytes 
Compiler error stack for rc = -2144272209: 
sqlnn_cmpl[300] 
sqlnp_main[250] 
sqlnp_parser[330] 
sqlnp_smactn[100] 
sqlnq_alter_table[120] 
sqlnq_table_old[127] 
sqlnq_ftb::ftb_privatize[555] 
 
This problem solely affects the table which has been altered and 
altering the table requires ALTER, CONTROL or ALTERIN privilege. 
 
Contact DB2 Support if you have already experienced this issue 
and require assistance in fixing your environment.
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* DB2 Version 9.7 for Linux, Unix and Windows from GA through  * 
* to Fix Pack 3 using more than 5 partitioning key columns for * 
* their tables.                                                * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* Incorrect logic during ALTER TABLE ... DROP DISTRIBUTION     * 
* codepath leads to incorrectly altered meta data for tables   * 
* that have more than 5 partitioning key columns defined.      * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Update your instance to DB2 Version 9.7 Fix Pack 4 before    * 
* issuing the DROP DISTRIBUTION statement.  Otherwise, see     * 
* local fix for other workarounds.                             * 
****************************************************************
Local Fix:
Current issue doesn't allow a complete drop for the partitioning 
key. 
Workaround to the issue if possible is to run ADMIN_TABLE_MOVE 
to a new table with the new definition as appropriate.  Here's 
an example: 
 
Assuming a given table T1, with 9 distribution key columns.  The 
objective is to: 
 
a) Change the type a column part of the distribution key 
b) Change the set of distribution key columns from 9 to 5. 
 
This will be possible in a single partition database partition 
group, or this on a serial (non-DPF) environment 
 
Dropping this distribution is not an option, since it contains 
more than 5 columns. 
Instead, do the following: 
 
CREATE TABLE PARTKEY.T1 
   (C1  INT, C2  INT, C3  INT, C4  INT, C5  INT, C6  INT, 
    C7  INT, C8  INT, C9  INT, C10 INT, C11 INT, C12 INT) 
   IN PK_TS1 DISTRIBUTE BY HASH (C1, C2, C3, C4, C5, C6, C7, C8, 
C9); 
 
CALL SYSPROC.ADMIN_MOVE_TABLE ('PARTKEY', 'T1', NULL, NULL, 
NULL, NULL, 
   'C5, C6, C7, C8, C9', NULL, 
   'C1  INT, C2  INT, C3  INT, C4  INT, C5  INT, C6  SMALLINT, 
    C7  INT, C8  INT, C9  INT, C10 INT, C11 INT, C12 INT', 
   NULL, 'MOVE'); 
 
The ADMIN_MOVE_TABLE specified will both set new partitioning 
keys as well as new definitions for the columns themselves. 
 
Please evaluate this option along your Software Vendor or DBA 
team about 
this altenative process when planning to change table's 
partitioning with 5+ columns 
definition. Please verify your scripts to add the necessary 
changes 
as described above when changing table distribution keys.
available fix packs:
DB2 Version 9.7 Fix Pack 4 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 5 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 6 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 7 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 9a for Linux, UNIX, and Windows
DB2 Version 9.7 Fix Pack 10 for Linux, UNIX, and Windows

Solution
Problem is first fixed in DB2 Version 9.7 Fix Pack 4 and all 
subsequent Fix Packs.
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC76324 IC76325 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
08.02.2011
19.12.2011
19.12.2011
Problem solved at the following versions (IBM BugInfos)
9.7.FP4
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.4 FixList