BAD PAGE
Posted in 2004
On IDS 7.31 for Linux, selecting one particular row returned errors 243 / ISAM 151 ("Illegal value in varchar length field"), and oncheck -cD reported a BAD PAGE / bad data row; the row couldn't be deleted either. Replies suggested running the full set of oncheck checks (-cc, -cd/-cD, -ce, -cI, -cr), and offered three repair options: restore from backup plus logical logs, restore the table via a sandbox instance, or unload the rows either side of the bad rowid, drop and recreate the table (plus indexes, views, triggers, stats) and reload. The poster tried the unload/reload route but hit corrupt/mismatched data in the unload file for a table with a TEXT column, and no resolution is recorded in the thread.
Auto-generated by DrWatson from the posts below — may be imperfect; read the full thread.
Topics: Storage & Space Management, Error Codes & Troubleshooting, Data Types & Schema Design, Platform-Specific Issues
INFORMIX 7.31.UD1 LINUX EDITION
Our application shows the following message when a specific record is =
selected.
243: Could not position within a table (xxxxx.table_name).
151: ISAM error: Illegal value in varchar length field
Running oncheck -cD xxxx:xxxx.table_name=20
TBLspace data check for xxxx:xxxx.table_name
BAD PAGE 2b15da: Bad data row - rowid 177942276
How can I correct this?
I try to remove the record with delete but the same error occurs.
=20
Jairo Gubler=20
Analista de Sistemas - APC=20
D=CDGITRO TECNOLOGIA=20
E-mail: jairo.gubler@digitro.com.br=20
Fone:(48) 281 7213=20
Fax:(48) 281 7299=20
Site:www.digitro.com.br=20
Hi Jairo,
RUN ONCHECK -cD
Also run check (before the backup):
CheckReserved (Reserved Pages)
CheckCatalog (Data-Dictionary)
CheckExtents (Extents)
CheckSmart (Smart-Blobs)
CheckData (Data-Pages)
CheckIndex (Index-Pages)
ArChecker (Backups)
-----Original Message-----
From: forum.subscriber@iiug.org [mailto:forum.subscriber@iiug.org]On
Behalf Of Jairo Gubler
Sent: terça-feira, 30 de novembro de 2004 11:16
To: ids@iiug.org
Subject: BAD PAGE [3806]
INFORMIX 7.31.UD1 LINUX EDITION
Our application shows the following message when a specific record is =
selected.
243: Could not position within a table (xxxxx.table_name).
151: ISAM error: Illegal value in varchar length field
Running oncheck -cD xxxx:xxxx.table_name=20
TBLspace data check for xxxx:xxxx.table_name
BAD PAGE 2b15da: Bad data row - rowid 177942276
How can I correct this?
I try to remove the record with delete but the same error occurs.
=20
Jairo Gubler=20
Analista de Sistemas - APC=20
D=CDGITRO TECNOLOGIA=20
E-mail: jairo.gubler@digitro.com.br=20
Fone:(48) 281 7213=20
Fax:(48) 281 7299=20
Site:www.digitro.com.br=20
Hi Jairo,
Check for corruption (using oncheck -cI, -cD, -cc, -ce, and -cr)
-----Original Message-----
From: Francisco Virgilio [mailto:francisco.virgilio@br.altitude.com]
Sent: terça-feira, 30 de novembro de 2004 12:05
To: Jairo Gubler; ids@iiug.org
Subject: RE: BAD PAGE [3806]
Hi Jairo,
RUN ONCHECK -cD
Also run check (before the backup):
CheckReserved (Reserved Pages)
CheckCatalog (Data-Dictionary)
CheckExtents (Extents)
CheckSmart (Smart-Blobs)
CheckData (Data-Pages)
CheckIndex (Index-Pages)
ArChecker (Backups)
-----Original Message-----
From: forum.subscriber@iiug.org [mailto:forum.subscriber@iiug.org]On
Behalf Of Jairo Gubler
Sent: terça-feira, 30 de novembro de 2004 11:16
To: ids@iiug.org
Subject: BAD PAGE [3806]
INFORMIX 7.31.UD1 LINUX EDITION
Our application shows the following message when a specific record is =
selected.
243: Could not position within a table (xxxxx.table_name).
151: ISAM error: Illegal value in varchar length field
Running oncheck -cD xxxx:xxxx.table_name=20
TBLspace data check for xxxx:xxxx.table_name
BAD PAGE 2b15da: Bad data row - rowid 177942276
How can I correct this?
I try to remove the record with delete but the same error occurs.
=20
Jairo Gubler=20
Analista de Sistemas - APC=20
D=CDGITRO TECNOLOGIA=20
E-mail: jairo.gubler@digitro.com.br=20
Fone:(48) 281 7213=20
Fax:(48) 281 7299=20
Site:www.digitro.com.br=20
Unload
the table data into two files:
rows with rowid < #bad_row
rows with rowid > #bad_row
drop table / create table
load the rows back into the new table.
Don't forget to do a backup first.
Don't forget to create additional objects (indexes, views, triggers)
and update statistics for the recreated table.
Regards,
Andreas Kutsche
> -----Ursprüngliche Nachricht-----
> Von: forum.subscriber@iiug.org [mailto:forum.subscriber@iiug.org]Im
> Auftrag von Jairo Gubler
> Gesendet: Dienstag, 30. November 2004 14:16
> An: ids@iiug.org
> Betreff: BAD PAGE [3806]
>
>
> INFORMIX 7.31.UD1 LINUX EDITION
>
>
> Our application shows the following message when a specific
> record is =
> selected.
>
> 243: Could not position within a table (xxxxx.table_name).
> 151: ISAM error: Illegal value in varchar length field>
>
>
> Running oncheck -cD xxxx:xxxx.table_name=20
>
> TBLspace data check for xxxx:xxxx.table_name
>
> BAD PAGE 2b15da: Bad data row - rowid 177942276
>
>
>
>
>
> How can I correct this?
> I try to remove the record with delete but the same error occurs.
>
> =20
> Jairo Gubler=20
> Analista de Sistemas - APC=20
>
> D=CDGITRO TECNOLOGIA=20
> E-mail: jairo.gubler@digitro.com.br=20
> Fone:(48) 281 7213=20
> Fax:(48) 281 7299=20
> Site:www.digitro.com.br=20
>
>
>
You have three choices:
1. Restore from backup and logical logs, or
2. Restoring a backup to a sandbox and restoring the table that way, or
2. Unload around the error, drop and recreate the table and restore those
records unloaded.
You will definitely lose data using choice 3. Depending on the type of table
(static or not), you may lose data using choice 2.
Good luck ... either way.
Clifton Bean
Jairo Gubler <jairo.gubler@digitro.com.br> wrote:
INFORMIX 7.31.UD1 LINUX EDITION
Our application shows the following message when a specific record is =
selected.
243: Could not position within a table (xxxxx.table_name).
151: ISAM error: Illegal value in varchar length field
Running oncheck -cD xxxx:xxxx.table_name=20
TBLspace data check for xxxx:xxxx.table_name
BAD PAGE 2b15da: Bad data row - rowid 177942276
How can I correct this?
I try to remove the record with delete but the same error occurs.
=20
Jairo Gubler=20
Analista de Sistemas - APC=20
D=CDGITRO TECNOLOGIA=20
E-mail: jairo.gubler@digitro.com.br=20
Fone:(48) 281 7213=20
Fax:(48) 281 7299=20
Site:www.digitro.com.br=20
I tried choice 3, but something strange happened during
dbload.
An important information: the table has a text column.
I create two files:
unload to "file1.unl"
select * from table where column < ...;
unload to "file2.unl"
select * from table where column > ...;
During dbload, the following message appears:
In INSERT statement number 1 of raw data file file1.unl.
Row number 759246 is bad.
1|867998|1|1679|N|||5192146474|cd||BLOB VALUE |N|||2003-03-30 =
14:08:51|/HD001/D
00001/2003_03_30/A00086/M_07994.DAT|||||||||A|=20
BLOB VALUE is the text showed by the output.=20
Looking on the file1.unl, there is nothing at that position, and the row =
has different information..
1|867998|1|1679|N|||5192146474|cd|||S||2003-03-30 14:14:16|2003-03-30 =
14:14:58|/HD001/D00001/2003_03_30/A00086/M_07998.DAT||5192116682|51921464=
74|5192116682|4233B0B6||5132886958|27711-33|A|
Jairo Gubler
----- Original Message -----=20
From: Clifton M. Bean=20
To: Jairo Gubler ; ids@iiug.org=20
Sent: Tuesday, November 30, 2004 1:08 PM
Subject: Re: BAD PAGE [3806]=20
You have three choices:
1. Restore from backup and logical logs, or
2. Restoring a backup to a sandbox and restoring the table that way, or
2. Unload around the error, drop and recreate the table and restore =
those records unloaded.
You will definitely lose data using choice 3. Depending on the type of =
table (static or not), you may lose data using choice 2.
Good luck ... either way.
Clifton Bean
Jairo Gubler <jairo.gubler@digitro.com.br> wrote:
INFORMIX 7.31.UD1 LINUX EDITION
Our application shows the following message when a specific record is =
=3D
selected.
243: Could not position within a table (xxxxx.table_name).
151: ISAM error: Illegal value in varchar length field
Running oncheck -cD xxxx:xxxx.table_name=3D20
TBLspace data check for xxxx:xxxx.table_name
BAD PAGE 2b15da: Bad data row - rowid 177942276
How can I correct this?
I try to remove the record with delete but the same error occurs.
=3D20
Jairo Gubler=3D20
Analista de Sistemas - APC=3D20
D=3DCDGITRO TECNOLOGIA=3D20
E-mail: jairo.gubler@digitro.com.br=3D20
Fone:(48) 281 7213=3D20
Fax:(48) 281 7299=3D20
Site:www.digitro.com.br=3D20
>From: "Andreas.KUT...." <andreas.kutsche@spar.at>
>To: ids@iiug.org
>Subject: AW: BAD PAGE [3809] Date: Tue, 30 Nov 2004 09:45:48 -0500 (EST)
>
>Unload the table data into two files:
>rows with rowid < #bad_row
>rows with rowid > #bad_row
>drop table / create table
>load the rows back into the new table.
>
>Don't forget to do a backup first.
>Don't forget to create additional objects (indexes, views, triggers)
>and update statistics for the recreated table.
>
>Regards,
>Andreas Kutsche
>
> > -----Ursprüngliche Nachricht-----
> > Von: forum.subscriber@iiug.org [mailto:forum.subscriber@iiug.org]Im
> > Auftrag von Jairo Gubler
> > Gesendet: Dienstag, 30. November 2004 14:16
> > An: ids@iiug.org
> > Betreff: BAD PAGE [3806]
> >
> >
> > INFORMIX 7.31.UD1 LINUX EDITION
> >
> >
> > Our application shows the following message when a specific
> > record is =
> > selected.
> >
> > 243: Could not position within a table (xxxxx.table_name).
> > 151: ISAM error: Illegal value in varchar length field> >
> >
> >
> > Running oncheck -cD xxxx:xxxx.table_name=20
> >
> > TBLspace data check for xxxx:xxxx.table_name
> >
> > BAD PAGE 2b15da: Bad data row - rowid 177942276
> >
> >
> >
> >
> >
> > How can I correct this?
> > I try to remove the record with delete but the same error occurs.
> >
> > =20
> > Jairo Gubler=20
> > Analista de Sistemas - APC=20
> >
> > D=CDGITRO TECNOLOGIA=20
> > E-mail: jairo.gubler@digitro.com.br=20
> > Fone:(48) 281 7213=20
> > Fax:(48) 281 7299=20
> > Site:www.digitro.com.br=20
> >
> >
> >
>
>