Salesforce

When do you need to truncate the BI file(s)?

« Go Back

Information

 
TitleWhen do you need to truncate the BI file(s)?
URL NameP25074
Article Number000137004
EnvironmentProduct: Progress
Version: 8.x, 9.x
Product: OpenEdge
Version: 10.x, 11.x, 12.x
OS: All supported platforms
Question/Problem Description
When will the BI file(s) need to be truncated?
When should a BI file be truncated?
Why am I receiving messages telling me to truncate the BI file?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution

When will the BI file need to be truncated?

Bi recovery will always take place when the database is opened single-user (pro, prowin -1, _progres -1) or multi-user (_mprosrv / dbman).

Some Progress utilities need to be run on a database only once it is in an up-to-date state (i.e. with no outstanding transactions pending in the database). If this is not the case OpenEdge will warn that the BI file(s) need to be truncated or truncate the BI file(s) automatically before running the utility.
 
Some messages you may encounter when running a Progress utility which require a BI file to first be truncated before proceeding:
The BI file is being automatically truncated. (1526)
Use proutil to truncate bi file before analyze. (4691)
You must use the proutil truncate bi command before doing a remove. (6953)
** You should run TRUNCATE BI utility before backing up your database (851)

To allow bi recovery to complete, truncate the BI file. This needs to be run offline, which assures transaction recovery:
$  proutil <database name> -C truncate bi 
  • Ensure sufficient bi space is available; typically twice the current bi size on disk is needed.
  • If After-imaging is enabled, sufficient AI space will also be needed to record redo undo notes. 
  • When facing an unexpected bi growth condition, consider disabling After Imaging beforehand (rfutil -C aimage end) as this adds additional i/o overhead. For further information refer to Article  Database recovery after runaway transactions  
  • Result: All open transactions will be rolled back, leaving the database in a state as though the uncommitted transaction(s) didn't run.  
Prior to OpenEdge 11.6.1, one cannot predict how long it will take to finalise the REDO and UNDO phases. Refer to Article:

When the truncate BI command is issued, the following will occur:

1.  Transaction note information in the before-image (BI) files is used to bring the database and after-image (AI) files up to date,
2.  Waits to verify that the information has been successfully written to the disk,
3.  Then truncates the before-image file to its original length.
  • If the bi files are of a fixed length, then the size of these files will not be reduced, they will remain their fixed size on disk.  The number of active clusters however will be returned to the original 4 bi-clusters of whatever size has been identified as the default or current bi cluster size when the database is next opened. The number of initial clusters can be pre-grown before starting the database with 'bigrow'. Refer to Article  How to tune BI I/O performance
4.  Sets the current BI cluster size or new size only when the Before-image Cluster Size (-bi) parameter is specified, otherwise the current biclustersize persists. Refer to Article  How to determine an optimum before-image (BI) file cluster size   5.  Sets the current BI block size or new size only when the Before-image Block Size (-biblocksize) parameter is specified, otherwise the current biblocksize persists.  Refer to Article  How to change or set a new value for the BI block and BI cluster size? 

For further detailed discussion, refer to Article  How the primary recovery (.bi) file works  

Additional Considerations before truncating the bi file 

Since OpenEdge 11.6.1 two new parameters -crStatus and -crTXDisplay were added to provide more detail on the process. For further information refer to Article: When the -F option is used, crash recovery is skipped which should only ever be used as a resource of last resort. For further information refer to Article: When the database is used for roll-forward operations, truncating the bi is inadvisable. For further discussion refer to Article:
Workaround
Notes

References to Written Documentation:

Progress Database Administration and Guide, Chapter 8 "Recovering a Database", 8.8 Truncating the BI file.

Progress Articles:

 Considerations when upgrading from OpenEdge 11 to a later OpenEdge 11 version.
 How to improve After Imaging (AI) performance  

Keyword Phrase
Last Modified Date11/20/2020 6:55 AM

Powered by