home clear 64x64
en blue 200x116 de orange 200x116 info letter User
suche 36x36
Neueste VersionenFixList
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
Haben Sie Probleme? - Kontaktieren Sie uns.
Kostenlos registrieren anmeldung-x26
Kontaktformular kontakt-x26

DB2 - Problembeschreibung

Problem IC72044 Status: Geschlossen

Db2look dependency on locale settings might introduce wrong values on mimic
information

Produkt:
DB2 FOR LUW / DB2FORLUW / 950 - DB2
Problembeschreibung:
Given the following table: 
 
CREATE TABLE "TEST"."TAB1"  ( 
                  "FIELDTYPE" CHAR(1) FOR BIT DATA ) 
 
 
db2 " select hex(HIGH2KEY) from sysstat.columns  WHERE COLNAME = 
'FIELDTYPE' AND TABNAME = 'TAB1' AND TABSCHEMA = 'TEST' " 
27E827 
 
The db2look output of 
 
db2look -d tlook -m -l -a -e -z TEST -t TAB1 -o tlook.out 
 
Depending on the locale settings, can show in the mimic 
information: 
 
 
UPDATE SYSSTAT.COLUMNS 
SET COLCARD=36, 
    NUMNULLS=0, 
    SUB_COUNT=-1, 
    SUB_DELIM_LENGTH=-1, 
    AVGCOLLENCHAR=-1, 
    HIGH2KEY=X'1A',  <<< This is incorrect and we are 
introducing incorrect values if we replay this ddl 
    LOW2KEY=X'14', 
    AVGCOLLEN=2 
WHERE COLNAME = 'FIELDTYPE' AND TABNAME = 'TAB1' AND TABSCHEMA = 
'TEST'; 
 
or 
 
UPDATE SYSSTAT.COLUMNS 
SET COLCARD=36, 
    NUMNULLS=0, 
    SUB_COUNT=-1, 
    SUB_DELIM_LENGTH=-1, 
    AVGCOLLENCHAR=-1, 
    HIGH2KEY='',  In here we have the character representation 
of 0xE28 which is a e with a tilde <<< this is incorrect and if 
we replay this ddl it will actually fail 
    LOW2KEY=X'14', 
    AVGCOLLEN=2 
WHERE COLNAME = 'FIELDTYPE' AND TABNAME = 'TAB1' AND TABSCHEMA = 
'TEST'; 
 
Depending on the locale settings 
 
 
The correct value should be: 
 
UPDATE SYSSTAT.COLUMNS 
SET COLCARD=36, 
    NUMNULLS=0, 
    SUB_COUNT=-1, 
    SUB_DELIM_LENGTH=-1, 
    AVGCOLLENCHAR=-1, 
    HIGH2KEY=X'E8', 
    LOW2KEY=X'14', 
    AVGCOLLEN=2 
WHERE COLNAME = 'FIELDTYPE' AND TABNAME = 'TAB1' AND TABSCHEMA = 
'TEST '
Problem-Zusammenfassung:
**************************************************************** 
* USERS AFFECTED:                                              * 
* ALL                                                          * 
**************************************************************** 
* PROBLEM DESCRIPTION:                                         * 
* Db2look dependency on locale settings might introduce wrong  * 
* values on mimic information                                  * 
*                                                              * 
* Given the following table:                                   * 
*                                                              * 
*                                                              * 
*                                                              * 
* CREATE TABLE "TEST"."TAB1"  (                                * 
*                                                              * 
*                   "FIELDTYPE" CHAR(1) FOR BIT DATA )         * 
*                                                              * 
*                                                              * 
*                                                              * 
*                                                              * 
*                                                              * 
* db2 " select hex(HIGH2KEY) from sysstat.columns  WHERE       * 
* COLNAME =                                                    * 
* 'FIELDTYPE' AND TABNAME = 'TAB1' AND TABSCHEMA = 'TEST' "    * 
*                                                              * 
* 27E827                                                       * 
*                                                              * 
*                                                              * 
*                                                              * 
* The db2look output of                                        * 
*                                                              * 
*                                                              * 
*                                                              * 
* db2look -d tlook -m -l -a -e -z TEST -t TAB1 -o tlook.out    * 
*                                                              * 
*                                                              * 
*                                                              * 
* Depending on the locale settings, can show in the mimic      * 
*                                                              * 
* information:                                                 * 
*                                                              * 
*                                                              * 
*                                                              * 
*                                                              * 
*                                                              * 
* UPDATE SYSSTAT.COLUMNS                                       * 
*                                                              * 
* SET COLCARD=36,                                              * 
*                                                              * 
*     NUMNULLS=0,                                              * 
*                                                              * 
*     SUB_COUNT=-1,                                            * 
*                                                              * 
*     SUB_DELIM_LENGTH=-1,                                     * 
*                                                              * 
*     AVGCOLLENCHAR=-1,                                        * 
*                                                              * 
*     HIGH2KEY=X'1A',  <<< This is incorrect and we are        * 
*                                                              * 
* introducing incorrect values if we replay this ddl           * 
*                                                              * 
*     LOW2KEY=X'14',                                           * 
*                                                              * 
*     AVGCOLLEN=2                                              * 
*                                                              * 
* WHERE COLNAME = 'FIELDTYPE' AND TABNAME = 'TAB1' AND         * 
* TABSCHEMA =                                                  * 
* 'TEST';                                                      * 
*                                                              * 
*                                                              * 
*                                                              * 
* or                                                           * 
*                                                              * 
*                                                              * 
*                                                              * 
* UPDATE SYSSTAT.COLUMNS                                       * 
*                                                              * 
* SET COLCARD=36,                                              * 
*                                                              * 
*     NUMNULLS=0,                                              * 
*                                                              * 
*     SUB_COUNT=-1,                                            * 
*                                                              * 
*     SUB_DELIM_LENGTH=-1,                                     * 
*                                                              * 
*     AVGCOLLENCHAR=-1,                                        * 
*                                                              * 
*     HIGH2KEY='',  In here we have the character              * 
* representation                                               * 
* of 0xE28 which is a e with a tilde <<< this is incorrect and * 
* if                                                           * 
* we replay this ddl it will actually fail                     * 
*                                                              * 
*     LOW2KEY=X'14',                                           * 
*                                                              * 
*     AVGCOLLEN=2                                              * 
*                                                              * 
* WHERE COLNAME = 'FIELDTYPE' AND TABNAME = 'TAB1' AND         * 
* TABSCHEMA =                                                  * 
* 'TEST';                                                      * 
*                                                              * 
*                                                              * 
*                                                              * 
* Depending on the locale settings                             * 
*                                                              * 
*                                                              * 
*                                                              * 
*                                                              * 
*                                                              * 
* The correct value should be:                                 * 
*                                                              * 
*                                                              * 
*                                                              * 
* UPDATE SYSSTAT.COLUMNS                                       * 
*                                                              * 
* SET COLCARD=36,                                              * 
*                                                              * 
*     NUMNULLS=0,                                              * 
*                                                              * 
*     SUB_COUNT=-1,                                            * 
*                                                              * 
*     SUB_DELIM_LENGTH=-1,                                     * 
*                                                              * 
*     AVGCOLLENCHAR=-1,                                        * 
*                                                              * 
*     HIGH2KEY=X'E8',                                          * 
*                                                              * 
*     LOW2KEY=X'14',                                           * 
*                                                              * 
*     AVGCOLLEN=2                                              * 
*                                                              * 
* WHERE COLNAME = 'FIELDTYPE' AND TABNAME = 'TAB1' AND         * 
* TABSCHEMA =                                                  * 
* 'TEST '                                                      * 
**************************************************************** 
* RECOMMENDATION:                                              * 
* Upgrade to DB2 Version 9.5 and Fix Pack 8                    * 
****************************************************************
Local-Fix:
Check settings of LC_CTYPE as db2look is using isalnum calls.
verfügbare FixPacks:
DB2 Version 9.5 Fix Pack 8 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 9 for Linux, UNIX, and Windows
DB2 Version 9.5 Fix Pack 10 for Linux, UNIX, and Windows

Lösung
Problem was first fixed in DB2 Version 9.5 and Fix Pack 8
Workaround
keiner bekannt / siehe Local-Fix
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
20.10.2010
27.06.2011
27.06.2011
Problem behoben ab folgender Versionen (IBM BugInfos)
9.5.
Problem behoben lt. FixList in der Version
9.5.0.8 FixList