Index problem with OnLine
Posted in 1995
06-Feb-1995
Subject: Index problem and error -252, -103 and -245
------------------------------------------------------
I have a problem..... If you can help, then please mail me !
Problem description:
====================
I have a table with 3 indexes and as you can see
problems with my indexes. In the systables the nindexes
is 3, but in the tblspace the value nkeys is 5.
What can create the shown problems ?
How can I avoid the problems ?
Is there any workaround ?
How can the nkeys value in tblspace be changed ?
The table is a big productions table and the problem
seems to come back every week if I recreate the table
and the indexes.
select * from nl_reserve where ordrenr=275838; ----------------------------------------------------------------
245: Could not position within a file via an index.
103: ISAM error: illegal key descriptor (too many parts or
too long).
update statistics for table nl_reserve; ----------------------------------------------------------------
252: Cannot get system information for table.
103: ISAM error: illegal key descriptor (too many parts or
too long).
tbcheck -cc
----------------------------------------------------------------
ERROR: fakt.nl_reserve nindexes 3 != tblspace.nkeys 5
ERROR: di_nkeys 5 != systables nindexes 3 for table
fakt.nl_reserve.
ISAM error: illegal key descriptor (too many parts or too long).
TBLSpace name nl_reserve
Owner fakt
TBLSpace number 3000049
Tabid 438
Row size 57
Number of columns 8
Number of indexes 3
Number of rows 640623
Date created 01/11/1994
TBLSpace major version number 445
TBLSpace minor version number 214
TBLSpace type T
Locking level R
Number of pages used 8604
First extent size 66768
Next extent size 6676
Flags 0
Site v_sb fakt
Database name t
Table nl_reserve
----------------------------------------------------------------
create table "fakt".nl_reserve
(
nl_maaned smallint,
nl_konto char(16),
kundenr char(10),
ordrenr integer,
levdato date,
beloeb decimal(11,2),
kvantum decimal(9,2),
oprdato datetime year to second
);
create index "fakt".ixnlr3 on "fakt".nl_reserve (ordrenr);
create index "fakt".ixnlr2 on "fakt".nl_reserve (kundenr);
create index "fakt".ixnlr1 on "fakt".nl_reserve (nl_konto);
Informix software:
------------------
Machine: Data General AViiON 9500
Os.....: DG/UX 5.4 R 2.10
Product: Release:
cisam 5.00.uc1
esqlc 5.00.uc1
i4gl 4.10.ud3
i4glid 4.10.ud3
i4glrds 4.10.ud3
isql 4.10.ud2
inet tcp/ip 5.01.ud2
se 5.01.ud2
istar tcp/ip 5.01.ud4
online 5.01.ud4
Thanks from
-----------------------------------------------------------------
Databaseadministrator Poul Pedersen
Kuwait Petroleum (Denmark) A/S
Hummeltoftevej 49 Mail: pp@q8.dk
2830 Virum Voice: +45 45 98 45 94
Denmark Fax: +45 42 85 14 18
-----------------------------------------------------------------