For any Progress database, prior to OpenEdge 10.1B, before the introduction of 64-bit rowids (2^63 rowids) when used in conjunction with Type II Storage Areas, the Progress Database has a two billion rowid (2^31) maximum per database Storage Area which limits the maximum Storage Area size.
In these versions or 10.1B and later versions that still use Type I Storage Areas, the maximum application Storage Area size is determined by three values:
- Maximum number of records per Storage Area: 2,147,483,648
- Number of Records Per Block of the area as defined in the structure file: dbname.st
- Database block size
To calculate the maximum 32-bit rowid Storage Area, first, it is necessary to calculate the Maximum number of database blocks per Storage Area using:Maximum number of database blocks per Storage Area = Maximum number of records per storage area / number of records per block
Then use the result to calculate the Maximum Storage Area Size:Maximum storage area size = Maximum number of database blocks per storage area * Database block size
A database that uses a Type I Storage Area with 32 records per block and a 4K (4096 bytes) database block size.
Maximum number of database blocks per Storage Area = 2,147,483,648 / 32 = 67,108,864
Maximum storage area size = 67,108,864 * 4096 = 274,877,906,944 bytes = 256GB.
The following table provides a Quick Reference lookup of the most common RPB values:
|Records per Block||Database Blocksize|