Consultor Eletrônico



Kbase P146469: Getting error -1 when performing idxcompact on specific indices.
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   8/16/2010
Status: Verified

SYMPTOM(s):

Getting error -1 performing idxcompact on specific indices.

Command: proutil dbname -C idxcompact tablename.index

Scan of indexes with idxfix showed many invalid keys for various records, error 8829

Command: proutil dbname -C idxfix

Index <index number> (<owner name>.<table name>, <index name>): Found invalid key <key value> recid <record identifier>. (8829)

The idxfix command option 3 with a response of yes was able to fix all the 8829 errors.

idxcheck performed against the index failed with 2811 errors.

SYSTEM ERROR: Index <index-num>: block <dbkey> marked as root, but anchor is block <dbkey>. (2811)

FACT(s) (Environment):

OpenEdge 10.1B0341 Hot fix
IBM AIX
PowerPC 64-bit
OpenEdge 10.1B03 Service Pack

CAUSE:

Index corruption. The error: SYSTEM ERROR: Index <index-num>: block <dbkey> marked as root, but anchor is block <dbkey>. (2811) occurs when there is conflicting information regarding the root block for a specific index. The database contains a block that is marked as the root block of an index. However, the database contains a table which lists the root blocks for each index, and it indicates another root block for this index.

FIX:

Perform an idxbuild for the index that is receiving the 2811 errors. For additional information on how to perform an idxbuild see solution: P80473, "How to perform an index build against a database?"