A. For overall information, use PROMON to find the number of empty blocks and free blocks of the database:
- Promon <dbname>
- Enter option: R&D
- Option 1 Status Displays
- Option 1 Database.
Since Progress 9, all Progress/OpenEdge databases are multi-volume and an overall view of information is only useful for determining the current size of the database.
B. PROSTRCT STATISTICS can be used to monitor the space usage of extents in each storage area. The report provides detailed information such as the database name, DB/AI/BI block sizes, the number of active blocks (blocks with data and free blocks), the number of empty blocks, the total number of blocks allocated for the database, the character set and collation name for the database , and the date and time of the last full backup. Since Progress 9.1E04, OpenEdge 10.0B05 and 10.1A, PROSTRCT STATISTICS can be run whilst the database is online.
To use PROSTRCT STATISTICS:
Command: prostrct statistics <db name>
The first section of the statistics report should look something like this:
Storage Utilization Statistics
Database: sports
Primary data block size: 4096
BI block size: 8192
AI block size: 8192
Look for the Database Block usage area to gather information about specific areas, for example:
Files in Area: Schema Area
C:\PROGRESS\WRK_91c\db\sports.d1 851968
Database Block Usage for Area: Schema Area
Active blocks: 204
Empty blocks: 4
Extent blocks: 1
Total blocks: 208
Records/Block: 32
- The line (C:\PROGRESS\WRK_91c\db\sports.d1 851968) reports the total size of the first extent in the Schema Area (sports.d1) is 8519689
- The first part of the report showed that the data block size is 4096 or 4k.
- The total number of blocks is 208.
- 204 blocks are active. Multiply the number of active blocks by the block size 204 x 4096 = 835584 (816k) are used.
- Since there are 4 empty blocks, use the same math to find the available space. 4 x 4096 = 16384 (16k) is available.
3. For more detailed information by Storage Area, use a 4GL procedure and query the
_AreaStatus Virtual System Table (VST).
The following ABL code example will display the Area Name, Total Blocks and the High Watermark for that area:
FOR EACH _AreaStatus:
DISPLAY _AreaStatus-AreaName LABEL "Area Name"
_AreaStatus-TotBlocks LABEL "Total Blocks"
_AreaStatus-Hiwater LABEL "High Watermark"
_AreaStatus-TotBlocks - _AreaStatus-Hiwater LABEL "Empty" (SUM).
END.