Troubleshoot index compaction
- Last Updated: January 16, 2024
- 2 minute read
- OpenEdge
- Version 12.8
- Documentation
When the index compacting utility takes a long time to run, the utility displays runtime status on screen approximately every two minutes. The status displays how much compacting has completed and estimates the time remaining. You may use Ctrl-C to stop a long-running compacting process.
For example, this command returns status messages as it compacts the indexes in
fld_det.fld_serialno:proutil testdb -C idxcompact fld_det.fld_serialno 100
4% complete, estimated time remaining: 0 hour(s) 46 minute(s) 38 second(s).
8% complete, estimated time remaining: 0 hour(s) 43 minute(s) 22 second(s).
12% complete, estimated time remaining: 0 hour(s) 40 minute(s) 47 second(s).
18% complete, estimated time remaining: 0 hour(s) 36 minute(s) 13 second(s).
22% complete, estimated time remaining: 0 hour(s) 34 minute(s) 51 second(s).
28% complete, estimated time remaining: 0 hour(s) 30 minute(s) 44 second(s).
33% complete, estimated time remaining: 0 hour(s) 28 minute(s) 10 second(s).
42% complete, estimated time remaining: 0 hour(s) 22 minute(s) 3 second(s).
51% complete, estimated time remaining: 0 hour(s) 17 minute(s) 19 second(s).
84% complete, estimated time remaining: 0 hour(s) 3 minute(s) 49 second(s).
Index compaction successfully completed (16180)If you see any of the following error messages in the database log (
.lg) file, contact Progress Technical Support. - The number of entries overflowed.
- The block length is exceeded.
- Memory allocation failed.
- Recalculating CS value failed.
- Finding entry failed.
- Incorrect process request.
The UNUSEDBLOCKS option causes PROUTIL IDXCOMPACT to scan only the delete chain and clean up blocks if the index is a unique index. This option improves OLTP performance and speeds up certain PROUTIL IDXCOMPACT operations, because the unused blocks can take up a lot of space.
To clean up unused blocks, specify the
UNUSEDBLOCKS option, for example: proutil testb -C idxcompact Customer.CustNum unusedblocksIndex compact with unusedblocks' option will only process index delete chain. (205029)
Processed 12 blocks from index delete chain in area 10.
Index compact successfully processed index delete chain for table:Customer, index:CustNum, partitionId:0 (20530)After the cleanup, you can check
PROUTIL -C DBANALYS output to see how many blocks remain in the index delete chain. For example: INDEX DELETE CHAIN ANALYSIS
-------------------
1
Number of Object Object
Blocks Type
-----------------------------------------
0 Index PUB.Customer.CustNum:13