Empty Blocks below the High Water Mark of a Storage Area typically means that the storage engine was formatting blocks when the database crashed, or was forced down (-F) or the machine crashed. Crash recovery is supposed to take care of this by completing the Physical Undo Phase, but for some reason did not (likely crash recovery was skipped with -F)
Recommendations:Ideally, revert to backup and roll forward to recover the database and chain consistency, otherwise:
- Rebuild the RM and Free chain using DBRPR. Refer to Article How to rebuild the RM Chain and Free Chain of a Progress Database
- If dealing with indexes, rebuild the indexes in that area with IDXBUILD.
- To address the corruption on the RM chain, dump the data from the area, truncate the area and then load the data back into the area.