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?"