When a production database is stopped due to index corruption, option 6 of the Index Fix utility (PROUTIL IDXFIX) lets you delete a record and all its indexes from the database. Index Fix can delete records without index entries and identify the table, index and other objects affected by record removal. If Index Fix cannot delete all fragments of the record, it returns diagnostic messages.

Use Index Fix before you try the dump and load functionalities: binary, binary using table scan, and ABL dump and load. Each of these approaches takes successively longer to use, as well as the time needed to proceed through the attempts to repair. Using Index Fix instead of more costly repairs reduces database down time.

Table 1 shows the information returned by option 6 in various situations. If you encounter these messages, contact Progress Technical Support for assistance.
Table 1. Troubleshooting details from IDXFIX option 6
Problem Message example
The rowid is invalid

Could not find the record in area 8. (13963)

Index Fix failed with error -1. (20470)

The specified area does not exist.

Error finding area 99. (16908)

Index Fix failed with error -1. (20470)

Unable to delete record because fragments cannot be located or deleted.

SYSTEM ERROR: Record continuation not found, fragment recid 2720 area 8 3. (10831)​

Index Fix failed with error -1. (20470)​

Index Fix upgraded an old record to the latest version in order to delete its keys, but encountered other corruption. Failed to upgrade the record in table 'Customer' recid 123.
Unable to delete the key for a record. Deletion of key failed for PUB.customer record with recid xxx in index 12 area 20, error code -1214 (20587)​