Try OpenEdge Now
skip to main content
Database Administration
Reference : PROUTIL Utility : PROUTIL TRUNCATE BI qualifier


Performs the following three functions:
*Uses the information in the before-image (BI) files to bring the database and after-image (AI) files up to date, waits to verify that the information has been successfully written to the disk, then truncates the before-image file to its original length.
*Sets the BI cluster size using the Before-image Cluster Size (-bi) parameter.
*Sets the BI block size using the Before-image Block Size (-biblocksize) parameter.


proutil db-name -C truncate bi {[ -G n]| -bi size| -biblocksize size }


Specifies the database you are using.
-G n
Specifies the number of seconds the TRUNCATE BI qualifier waits after bringing the database and AI files up to date and before truncating the BI file. The default wait period is 60 seconds. You might specify a shorter period for practice or test purposes only.
Caution: Do not decrease the value for any significant database, because a system crash could damage the database if the BI file is truncated before the writes to the database and AI files are flushed from the operating system buffer cache.
-bi size
Specifies the size of the cluster in kilobytes. The number must be a multiple of 16 ranging from 16 to 262,128 (16K to 256MB). The default cluster size is 512K. If you use a value that is not a multiple of 16, PROUTIL rounds the value up to the next multiple of 16.
-biblocksize size
Specifies the size of the BI blocks in each buffer in kilobytes. The valid values are 1, 2, 4, 8, and 16. The default -biblocksize is 8K. A value of zero (0) tells PROUTIL to use the default block size. The block size cannot be smaller than the database block size.


*The Before-image Block Size (-biblocksize) parameter changes the BI block size so that the database engine reads and writes the blocks as one block.
*Use the PROSTRCT STATISTICS qualifier to display the block size for a database.
*If you change the BI block size or cluster size before backing up a database, when you restore the database, the blocks and clusters will be the size you specified before the backup.
*PROUTIL reads all the BI blocks according to the size of the first block it reads. For example, if the first BI block is 8K, PROUTIL reads and writes each block on an 8K boundary.
*For performance reasons, you might want to run PROUTIL BIGROW to increase the number of BI clusters available to your database before starting your server.