The before image file (.bi) grows as needed through daily transactions. The problem can be that all transactions must wait while the before image file (.bi) is growing by adding more bi clusters to the chain and pre-formatting blocks.
If the .bi file is allowed to mature and is not truncated, then these performance pauses will no longer be observable after the initial instance, every well tuned application has a 'sweet point' that the bi file will grow under 'normal' operations. From time to time, the bi needs to be truncated and these pauses will be experienced again until the bi file finally matures. Under these circumstances, pre-formatting, or growing, the bi file in advance will get around this performance issue. The performance hit is effectively transferred from database runtime to database startup.
The 'bigrow' utility was introduced in Progress 7.3E and needs to be run offline, prior to starting the database:
SYNTAX: proutil [ dbname ] -C bigrow {number}
Where:
[number] = number of clusters above the initial 4 clusters
( [number] + 4 ) * [the size of bicluster] = pre-formatted bytes of bi growth
Example: The following command will result in 10 clusters of bi growth prior to starting the database.
$ proutil dbname -C bigrow 6