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 IC93790 Status: Closed

DB2 CRASH CAUSED BY PACKED DESCRIPTOR INCONSISTENCY AFTER ALTER TABLE SET
TYPE BLOB/CLOB

product:
DB2 FOR LUW / DB2FORLUW / 970 - DB2
Problem description:
Altering column type to the same type as it currently e.g.: 
$ db2 "CREATE TABLE T1 (ONE INT, TWO BLOB(1000000) INLINE LENGTH 
1000)" 
$ db2 "ALTER TABLE T1 ALTER TWO SET DATA TYPE BLOB(1000000)" 
 
may results in column length not being re-calculated properly if 
given column has INLINE LENGTH specified. That may lead to 
runtime crash because of detected memory corruption while 
executing a query containing that column. 
 
Possible stack (may differ) 
 
FUNCTION: DB2 UDB, SQO Memory Management, 
sqloDiagnoseFreeBlockFailure, probe:10 
MESSAGE : Possible memory corruption detected. 
[...] 
pdLog + 0xE4 
@78@sqloDiagnoseFreeBlockFailure__FP8SMemFBlkCb + 0x158 
sqlofmblkEx + 0xC 
sqlra_sqlC_mem_free_block__FP8sqlrr_cbUlPv + 0x4C 
sqlra_sqlC_mem_free_block__FP8sqlrr_cbUlPv@glue887 + 0x74 
sqlra_fp_dealloc__FP15sqlra_func_path + 0x184 
sqlra_fp_dealloc__FP15sqlra_func_path@glue886 + 0x74 
sqlra_free_section__FP8sqlrr_cbP25sqlra_sql_context_siblingiN23 
+ 0x324 
sqlra_sqlC_free_section__FP8sqlrr_cbP25sqlra_sql_context_sibling 
i + 0xA0 
sqlra_sqlC_get_stmt__FP8sqlrr_cbPUcUiUciP17sqlra_cached_stmtPi + 
0x8C 
 
 
Query, that was being executed should also be dumped to the 
db2diag.log: 
 
FUNCTION: DB2 UDB, relation data serv, sqlrr_dump_sibling, 
probe:140 
MESSAGE : section stmt 
DATA #1 : Hexdump, 180 bytes 
0x0A000200B1F3F300 : 0A20 2020 2020 2020 2020 2020 2020 2020 
. 
0x0A000200B1F3F310 : 2053 454C 4543 5420 5457 4F20 4652 4F4D 
SELECT TWO FROM 
0x0A000200B1F3F320 : 2054 3120 4541 5243 485F 4E41 4D45 2C20 
T1 
 
To confirm the problem, you can examine packed descriptor the 
specific table by executing: 
$ db2cat -d <db_name> -s <schema> -n <table_name> 
 
and check if column length is lower than inline length for the 
affected column, which is the symptom of corruption, e.g: 
 
$ db2cat -d sample -s db2inst1 -n t1: 
[...] 
COLUMN NAME               : TWO 
 Length of column name     : 3 
 Column id                 : 1 
 Col type {hex, type}      : 0x0108 ,  BLOB 
 Col dist. type {hex, type}: 0x007c ,  BLOB 
 Column length             :    216 
 Blob length               : 100000 
 Statistic offset          : -1 
 Flags                     : 0x00000090 
                             - SQLRG_MIXED 
                             - SQLRG_NULLIND 
 Codepage                  : 0 
 Collation name            : BINARY 
 Collation ID in hex       : B'00 00 00 05 FF 01 FF FF 
 Length of user default    : 0 
 Logged                    : 1 
 Compact                   : 0 
 Inline Length             : 1000
Problem Summary:
**************************************************************** 
* USERS AFFECTED:                                              * 
* All platforms                                                * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* See Error Description                                        * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 Version 9.7 and Fix Pack 9                    * 
****************************************************************
Local Fix:
Force column length to be re-calculated by altering the table by 
increasing either size or inline length. 
Example: 
$ db2 "ALTER TABLE T1 ALTER TWO SET DATA TYPE BLOB(1000001)" 
or: 
$ db2 "ALTER TABLE T1 ALTER TWO SET INLINE LENGTH 1001"
available fix packs:
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 was first fixed in DB2 Version 9.7 and Fix Pack 9
Workaround
not known / see Local fix
BUG-Tracking
forerunner  : APAR is sysrouted TO one or more of the following: IC93791 
follow-up : 
Timestamps
Date  - problem reported    :
Date  - problem closed      :
Date  - last modified       :
28.06.2013
16.12.2013
16.12.2013
Problem solved at the following versions (IBM BugInfos)
9.0.,
9.7.
Problem solved according to the fixlist(s) of the following version(s)
9.7.0.9 FixList
9.7.0.9 FixList