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 IC95248 Status: Geschlossen

NNSTAT METHOD 1 OR 0 REPORTS SQL1227N RC=3 WHEN IT TRIES TO UPDATE HIGH2KEY
TO SINGLE BLANK FOR AN INTEGER COLUMN

Produkt:
DB2 FOR LUW / DB2FORLUW / A50 - DB2
Problembeschreibung:
NNSTAT with method 1(or 0) reports SQL1227N RC=3 when it tries 
to update HIGH2KEY/LOW2KEY to a single blank for a numerical 
column: 
 
SQL1227N  The catalog statistic " " for column "HIGH2KEY" is out 
of range for its target column, has an invalid format, or is 
inconsistent in relation to some other statistic. Reason Code = 
"3". 
 
The same error may happen to all numerical data type columns, 
such as integer, float, decimal and double columns. The problem 
only happens when DB2_COMPATIBILITY_VECTOR=ORA. 
 
REPRODUCE: 
connect to fdbora; 
drop server serv1; 
create server serv1 type oracle version '11g' wrapper net8 
options(node 'ora11gr2',VARCHAR_NO_TRAILING_BLANKS 'Y'); 
create user mapping for db2inst1 server serv1 
options(remote_authid '<user name>',remote_password 
'<password>'); 
set passthru serv1; 
drop table test; 
create table test(c1 number(6), c2  number(25), c3 
number(38,12)); 
insert into test values(null,null,11.1); 
insert into test values(null,1,22.2); 
insert into test values(null,2,33.3); 
insert into test values(null,3,44.4); 
set passthru reset; 
create nickname mt for  serv1."<user name>"."TEST"; 
call 
sysproc.nnstat('SERV1','DB2INST1','MT',NULL,NULL,1,'/home/db2ins 
t1/nnstat1.log::DIAG',?); 
 
In above case, the nicknames COLCARDs will be: 
-------------------- 
  C1's COLCARD = 0 
  C2's COLCARD = 3 
  C3's COLCARD = 4 
-------------------- 
And if statistic data haven't been ran for the source table on 
the Oracle server, all columns will have COLCARD = -1. 
 
Also, in a database created with DB2_COMPATIBILITY_VECTOR=ORA, 
if COLCARD <= 3 , CREATE NICKNAME statement(NNSTAT with method 1 
 collects statistic data from remote data source by creating a 
nickname)gets HIGH2KEY/LOW2KEY as a single blank ' '(0x20) for a 
 column with numerical data type. 
 
When NNSTAT tries to update HIGH2KEY/LOW2KEY to a single 
blank(the HIGH2KEY/LOW2KEY value collected by creating the 
nickname), the error happens. In this case, the column is an 
numeric, and db2 need to convert the HIGH2KEY/LOW2KEY 
string(single blank) to a native integer to interpret it 
natively.  The conversion returns an error because single blank 
is not a number: 
 
update SYSSTAT.COLUMNS SET (COLCARD, HIGH2KEY, LOW2KEY) = (3, ' 
',' ') where TABNAME='MT' and COLNAME = 'C2'
Problem-Zusammenfassung:
User affected: 
  Users who use Oracle compatible of InfoSphere Federation 
Server Problem description and summay: 
  See error description
Local-Fix:
Use method 2 instead.
verfügbare FixPacks:
DB2 Version 10.5 Fix Pack 3 for Linux, UNIX, and Windows
DB2 Version 10.5 Fix Pack 3a for Linux, UNIX, and Windows
DB2 Cancun Release 10.5.0.4 (also known as Fix Pack 4) for Linux, UNIX, and Windows
DB2 Version 10.5 Fix Pack 9 for Linux, UNIX, and Windows

Lösung
Problem was fistly fixed in Version 10.5 FixPak 3. This 
fix should be applied on the federation Server.
Workaround
keiner bekannt / siehe Local-Fix
Weitere Daten
Datum - Problem gemeldet    :
Datum - Problem geschlossen :
Datum - der letzten Änderung:
27.08.2013
10.03.2014
10.03.2014
Problem behoben ab folgender Versionen (IBM BugInfos)
Problem behoben lt. FixList in der Version
10.5.0.3 FixList
10.5.0.3 FixList