PROUTIL performs low level C routines to read every record of every table.
DBANALYS is essentially a cumulative report for:
- TABANALYS,
- IDXANALYS
- CHANALYS summary
TABANALYS:
- As each data block is read, PROUTIL records what records from which tables are in the block.
- Internal structures record the number of records, record fragments and record sizes for each record of each table.
- The minimum, maximum and average record sizes for all records of the table are calculated.
- The sizes for all tables in each Area are accumulated.
IDXANALYS:
- The same method is used to gather information for indices when performing IDXANALYS
- How much space is used by all indices within each area is calculated.
- As each index block is examined, information is gathered on the number of levels of the b-tree, number of blocks, degree each index block is utilized (full) for each index of the database.
All this information is held by the PROUTIL process and written to a report which can be read from the screen or re-directed to an output file for viewing in a text editor.
When these operations are run online, then there is the possibility that after the data are read, the data may have been changed by another process.
When online dbanalys, tabanalys, or ixanalys are performed, the beginning of the report will indicate that the results are estimates based on data gathered by the process during its one and only pass through the database:
[Warning] database in use - reported statistics are approximations. (2486)