When it is determined that a CA Datacom base Index Area (IXX) is corrupt, the IXX needs to be rebuilt.
Will the DBUTLTY DEFRAG function fix a corrupt IXX?
No, the DEFRAG function does not validate or correct the data contained in the index and does not check the pointers in the blocks.
The DEFRAG function reads through the index blocks and merges partially full blocks, defragmenting or compressing the DXX (the "lowest" level of the IXX) that contains key values and pointers to actual rows.
A corrupted IXX requires its entries be rebuilt by reading data from disk using the DBUTLTY function RETIX or using DBUTLTY BACKUP and LOAD of the database. An INIT is only required if doing a RETIX or LOAD at the full database level. If an AREA= is included on the RETIX or LOAD, INIT is not required. Including an INIT is desirable when the total number of index entries associated with an AREA is the majority of the entries in the index.
Note, DBUTLTY functions INIT, RETIX and LOAD require that the database to be closed in the CA Datacom Multi-user (MUF) while the DEFRAG function does not.
Refer to the CA Datacom/DB Database DBUTLTY Reference Guide for more information on DEFRAG, INIT, BACKUP, LOAD and RETIX.