Corrupted index
Posted in 2009
Topics: Storage & Space Management
Hi,
We were validating the indexes on a table, an error raised telling about index
corruption.
Here it is:
--------------------------------------------------------------------------------
# oncheck -cDI hrms:org.messages
Validating indexes for hrms:org.messages...
Index tr0035
Index fragment partition datadbs_org32 in DBspace datadbs_org2
Index tr0041
Index fragment partition datadbs_org2 in DBspace datadbs_org2
ERROR:No data row exists for btree item.
Btree item contains fragid 0x600768 rowid 0x1eaa0402, key value:
Key: 2695176:
Fragid 0x600768 Rowid 0x1eaa0402 contains key value:
Key: 514459393:
Index tr0048
Index fragment partition datadbs_org2 in DBspace datadbs_org2
--------------------------------------------------------------------------------
how can it be fixed?
validating the indexes causes problem on our oltp system as it locks the
objects,. What can some other way round to find corrupted objects?
Is there any rule to avoid this kind of situation?
We are using IDS 11.5 FC4.
regards,
Kamran
I've seen this kind of corruption mostly for databases that do not have
logging. Oncheck is the only way to detect index or table corruption.
Art
Art S. Kagel
Oninit (www.oninit.com)
IIUG Board of Directors (art@iiug.org)
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Oninit, the IIUG, nor any other organization
with which I am associated either explicitly or implicitly. Neither do
those opinions reflect those of other individuals affiliated with any entity
with which I am affiliated nor those of the entities themselves.
On Thu, May 14, 2009 at 1:03 PM, KAMRAN HAQ <khaq@i2cinc.com> wrote:
> Hi,
> We were validating the indexes on a table, an error raised telling about
> index
> corruption.
> Here it is:
>
>
>
>
--------------------------------------------------------------------------------
> # oncheck -cDI hrms:org.messages>
> Validating indexes for hrms:org.messages...
>
> Index tr0035
>
> Index fragment partition datadbs_org32 in DBspace datadbs_org2
>
> Index tr0041
>
> Index fragment partition datadbs_org2 in DBspace datadbs_org2
>
> ERROR:No data row exists for btree item.
> Btree item contains fragid 0x600768 rowid 0x1eaa0402, key value:
> Key: 2695176:
> Fragid 0x600768 Rowid 0x1eaa0402 contains key value:
> Key: 514459393:
>
> Index tr0048
>
> Index fragment partition datadbs_org2 in DBspace datadbs_org2
>
>
>
>
--------------------------------------------------------------------------------
> how can it be fixed?
> validating the indexes causes problem on our oltp system as it locks the
> objects,. What can some other way round to find corrupted objects?
> Is there any rule to avoid this kind of situation?
>
> We are using IDS 11.5 FC4.
>
> regards,
> Kamran
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--001636c5b68090ac280469e2a929
That database is in un-buffered logging mode. we also found error while
executing following command:
------------------------------------------------------------------
# oncheck -cdr hrms:org.messages
Validating IBM Informix Dynamic Server reserved pages
Validating PAGE_PZERO...
Validating PAGE_CONFIG...
Validating PAGE_1CKPT & PAGE_2CKPT...
Using check point page PAGE_2CKPT.
Validating PAGE_1DBSP & PAGE_2DBSP...
Using DBspace page PAGE_1DBSP.
Validating PAGE_1PCHUNK & PAGE_2PCHUNK...
Using primary chunk page PAGE_2PCHUNK.
Validating PAGE_1ARCH & PAGE_2ARCH...
Using archive page PAGE_1ARCH.
TBLspace data check for hrms:org.messages
ERROR: Remainder piece 0x4728302 referenced by datarow but not found in page
------------------------------------------------------------------
in an OTLP system what would be a suggested way to fix a corrupted index of a
busy table?
Hi,
rebuild the index (drop/create) . With IDS 10 and above you can use create ...
online (which allows selects on the table), but I would not use it if the
table is heavily updated. In the latter case you should schedule a downtime.
If the table is large: use PDQPRIORITY/PSORT_NPROCS for creating the index.
Don't forget update statistics afterwards.
Attention: If the index is attached (default with IDS7 and older 9.x versions)
the drop index might take a lot of time.
Regards
Andreas
-------------------------------------------
SPAR Österreichische Warenhandels-AG
Hauptzentrale
A - 5015 Salzburg, Europastrasse 3
FN 34170 a
Tel: +43 662 4470 24223
Mobile: +43 664 6259575
E-Mail: Andreas.KUTSCHE@spar.at
Internet: http://www.spar.at
Wichtiger Hinweis: Der Inhalt dieser E-Mail kann vertrauliche und rechtlich
geschützte Informationen, insbesondere Betriebs- oder Geschäftsgeheimnisse,
enthalten, zu deren Geheimhaltung der Empfänger verpflichtet ist. Die
Informationen in dieser E-Mail sind ausschließlich für den Adressaten
bestimmt. Sollten Sie die E-Mail irrtümlich erhalten haben so ersuchen wir
Sie, die Nachricht von Ihrem System zu löschen und sich mit uns in Verbindung
zu setzen.
Über das Internet versandte E-Mails können leicht manipuliert oder unter
fremdem Namen erstellt werden. Daher schließen wir die rechtliche
Verbindlichkeit der in dieser Nachricht enthaltenen Informationen aus. Der
Inhalt der E-Mail ist nur rechtsverbindlich, wenn er von uns schriftlich
bestätigt und gezeichnet wird.
Sollte trotz der von uns verwendeten Virus-Schutzprogramme durch die Zusendung
von E-Mails ein Virus in Ihre Systeme gelangen, haften wir nicht für evtl.
hieraus entstehende Schäden.
Wir danken für Ihr Verständnis.
Important notice: The contents of this e-mail may contain confidential and
legally protected information that is in particular related to operational and
trade secrets, which the recipient is obliged to treat as confidential. The
information in this e-mail is made available exclusively for use by the
addressee. In the event that the e-mail may have been sent to you in error, we
would ask you to kindly delete this communication from your system and to
contact us.
E-mails sent via the Internet can be easily manipulated or sent out under
someone else's name. We therefore do not accept legal liability for the
information contained in this communication. The contents of the e-mail are
only legally binding if they have been confirmed and signed by us in writing.
If, in spite of our using Antivirus protection software, a virus may have
penetrated your system through the sending of this e-mail, we do not accept
liability for any damage that may possibly arise as a result of this.
We trust that you appreciate our position.
-------------------------------------------
-----Ursprüngliche Nachricht-----
Von: ids-bounces@iiug.org [mailto:ids-bounces@iiug.org] Im Auftrag von KAMRAN
HAQ
Gesendet: Freitag, 15. Mai 2009 13:30
An: ids@iiug.org
Betreff: Re: Corrupted index [15780]
That database is in un-buffered logging mode. we also found error while
executing following command:
------------------------------------------------------------------
# oncheck -cdr hrms:org.messages
Validating IBM Informix Dynamic Server reserved pages
Validating PAGE_PZERO...
Validating PAGE_CONFIG...
Validating PAGE_1CKPT & PAGE_2CKPT...
Using check point page PAGE_2CKPT.
Validating PAGE_1DBSP & PAGE_2DBSP...
Using DBspace page PAGE_1DBSP.
Validating PAGE_1PCHUNK & PAGE_2PCHUNK...
Using primary chunk page PAGE_2PCHUNK.
Validating PAGE_1ARCH & PAGE_2ARCH...
Using archive page PAGE_1ARCH.
TBLspace data check for hrms:org.messages
ERROR: Remainder piece 0x4728302 referenced by datarow but not found in page
------------------------------------------------------------------
in an OTLP system what would be a suggested way to fix a corrupted index of a
busy table?
*******************************************************************************
Forum Note: Use "Reply" to post a response in the discussion forum.
Drop the index and rebuild it during whatever maintenance window you have
available. If you have IDS 11.50 the engine can optionally build the index
without locking the table, earlier releases cannot. Good reason to upgrade.
Art
Art S. Kagel
Oninit (www.oninit.com)
IIUG Board of Directors (art@iiug.org)
Disclaimer: Please keep in mind that my own opinions are my own opinions and
do not reflect on my employer, Oninit, the IIUG, nor any other organization
with which I am associated either explicitly or implicitly. Neither do
those opinions reflect those of other individuals affiliated with any entity
with which I am affiliated nor those of the entities themselves.
On Fri, May 15, 2009 at 7:29 AM, KAMRAN HAQ <khaq@i2cinc.com> wrote:
> That database is in un-buffered logging mode. we also found error while
> executing following command:
> ------------------------------------------------------------------
> # oncheck -cdr hrms:org.messages>
> Validating IBM Informix Dynamic Server reserved pages
>
> Validating PAGE_PZERO...
>
> Validating PAGE_CONFIG...
>
> Validating PAGE_1CKPT & PAGE_2CKPT...
>
> Using check point page PAGE_2CKPT.
>
> Validating PAGE_1DBSP & PAGE_2DBSP...
>
> Using DBspace page PAGE_1DBSP.
>
> Validating PAGE_1PCHUNK & PAGE_2PCHUNK...
>
> Using primary chunk page PAGE_2PCHUNK.
>
> Validating PAGE_1ARCH & PAGE_2ARCH...
>
> Using archive page PAGE_1ARCH.
>
> TBLspace data check for hrms:org.messages
>
> ERROR: Remainder piece 0x4728302 referenced by datarow but not found in
> page
> ------------------------------------------------------------------
> in an OTLP system what would be a suggested way to fix a corrupted index of
> a
> busy table?
>
>
>
>
*******************************************************************************
> Forum Note: Use "Reply" to post a response in the discussion forum.
>
>
--001636c5bb1316af480469f35ece