DB2 - Problembeschreibung
| Problem IC67385 | Status: Geschlossen | 
DATABASE MARKED BAD AND CRASH WHEN ALTER INLINE LENGTH OF COLUMN ON WHICH SPATIAL INDEX IS DEFINED  | |
| Produkt: | |
DB2 FOR LUW / DB2FORLUW / 970 - DB2  | |
| Problembeschreibung: | |
If we try to alter the inline length of a column on which a 
spatial index is defined like in the example below, the database 
could get marked bad and crash: 
 
 
1. Table DDL 
 
CREATE TABLE "GISADME "."GIA4A11T"  ( 
              "OBJECTID" INTEGER NOT NULL , 
              "FEATUREID" INTEGER , 
              "ZORDER" INTEGER , 
              "ANNOTATIONCLASSID" INTEGER , 
              "ELEMENT" BLOB(1048576) LOGGED NOT COMPACT , 
              "SYMBOLID" INTEGER , 
              "STATUS" SMALLINT , 
              "TEXTSTRING" VARCHAR(255) , 
              "FONTNAME" VARCHAR(255) , 
              "FONTSIZE" DECIMAL(31,8) , 
              "USERID" VARCHAR(8) , 
              "ZSP_AEND" TIMESTAMP , 
              "SHAPE" "DB2GSE  "."ST_MULTIPOLYGON" ) 
             IN "TBLS32" INDEX IN "TBLS32" LONG IN "TBLS32" ; 
 
CREATE INDEX "GISADME "."A41_IX1" ON "GISADME "."GIA4A11T" 
            ("SHAPE" ) 
            EXTEND USING "DB2GSE 
"."SPATIAL_INDEX" (.360000e1,.180000e2,.000000e0) DISALLOW 
REVERSE SCANS; 
 
2. Alter statement: 
 
alter table gisadme.gia4a11t alter column shape set inline 
length 8000; 
 
3. db2diag.log errors 
 
2010-02-15-18.10.22.184000+060 I1924396F543 LEVEL: Severe 
PID : 2312 TID : 1836 PROC : db2syscs.exe 
INSTANCE: DB2 NODE : 000 DB : BGISDB_Q 
APPHDL : 0-117 APPID: *LOCAL.DB2.100215170447 
AUTHID : DB2ADMIN 
EDUID : 1836 EDUNAME: db2agent (BGISDB_Q) 0 
FUNCTION: DB2 UDB, index manager, sqliExtendKeyLen, probe:10 
MESSAGE : IndexObj: (11;16). RC= 
DATA #1 : Hexdump, 4 bytes 
0x000000000DC0DCF0 : 2F00 0487 /... 
 
2010-02-15-18.10.22.184000+060 I1924941F656 LEVEL: Severe 
PID : 2312 TID : 1836 PROC : db2syscs.exe 
INSTANCE: DB2 NODE : 000 DB : BGISDB_Q 
APPHDL : 0-117 APPID: *LOCAL.DB2.100215170447 
AUTHID : DB2ADMIN 
EDUID : 1836 EDUNAME: db2agent (BGISDB_Q) 0 
FUNCTION: DB2 UDB, catalog services, sqlrlalt, probe:990 
MESSAGE : ZRC=0x8704002F=-2029780945=SQLD_PARM "PARAMETER ERROR" 
DIA8544C An invalid data type was encountered, the value was 
"". 
DATA #1 : String, 33 bytes 
Probe that returned non-zero rc: 
DATA #2 : unsigned integer, 4 bytes 
10600 
 
2010-02-15-18.10.22.231000+060 I1925599F550 LEVEL: Severe 
PID : 2312 TID : 1836 PROC : db2syscs.exe 
INSTANCE: DB2 NODE : 000 DB : BGISDB_Q 
APPHDL : 0-117 APPID: *LOCAL.DB2.100215170447 
AUTHID : DB2ADMIN 
EDUID : 1836 EDUNAME: db2agent (BGISDB_Q) 0 
FUNCTION: DB2 UDB, global services, sqlzeMapZrc, probe:45 
MESSAGE : ZRC=0x8704002F=-2029780945=SQLD_PARM "PARAMETER ERROR" 
DIA8544C An invalid data type was encountered, the value was 
"". 
 
If we specify a higher inline length we might just face a 
SQL0614N  error which might lead to expectation that we can run 
the alter with a lower length, which could lead to crash: 
 
alter table gisadme.gia4a11t alter column shape set inline 
length 
30000; 
 
DB21034E  The command was processed as an SQL statement because 
it was not a 
valid Command Line Processor command.  During SQL processing it 
returned: 
SQL0614N  The index or index extension "A41_IX1" cannot be 
created or altered 
because the combined length of the specified columns is too 
long. 
SQLSTATE=54008 | |
| Problem-Zusammenfassung: | |
**************************************************************** * USERS AFFECTED: * * ALL * **************************************************************** * PROBLEM DESCRIPTION: * * DB2 does not support alter of the inline length of a column * * in * * which a spatial index is defined. This APAR will address * * both * * scenarios described above raising a SQL error to inform the * * user * * this operation is not allowed and avoiding the crash or a * * * * misleading SQL0614N. * **************************************************************** * RECOMMENDATION: * * Upgrade to DB2 Version 9.7 Fixpack 3 * ****************************************************************  | |
| Local-Fix: | |
Do not alter the inline length of a column on which a spatial index is defined.  | |
| verfügbare FixPacks: | |
DB2 Version 9.7 Fix Pack 2 for Linux, UNIX, and Windows  | |
| Lösung | |
Problem was first fixed on DB2 Version 9.7 Fixpack 3  | |
| Workaround | |
keiner bekannt / siehe Local-Fix  | |
| Kommentar | |
Do not alter the inline length of a column on which a spatial index is defined  | |
| Weitere Daten | |
Datum - Problem gemeldet : Datum - Problem geschlossen : Datum - der letzten Änderung:  | 23.03.2010 07.09.2010 18.02.2011  | 
| Problem behoben ab folgender Versionen (IBM BugInfos) | |
9.7.FP3  | |
| Problem behoben lt. FixList in der Version | |
| 9.7.0.2 | 
 | 
| 9.7.0.3 | 
 | 
| 9.7.0.3 | 
 |