When you create a new database or truncate an existing database, the database engine, by default, creates four BI clusters, each of which is 512K. As the engine fills a cluster, the cluster is checkpointed, and the engine writes to the next cluster on the chain. The following figure illustrates the default BI clusters.
Figure 36. BI clusters at startup
In some cases, the database engine cannot write to the next cluster because the next cluster contains an active transaction. When the engine cannot use the next cluster on the chain, it creates a new cluster and begins writing to it. While the engine creates the new cluster, no database update activity can occur, thus impacting database performance. The following figure illustrates how BI clusters fill over time.
Figure 37. BI clusters over time
The BI clusters typically grow to their optimal number over time. You can calculate the current number of BI clusters for a database by dividing the BI physical file size by the BI cluster size. For example, a database BI file with a BI cluster size of 128K and a physical size of 91,7504 has 7 BI clusters.
Whenever the BI file is truncated, you should consider growing the number of BI clusters to its optimal size before restarting the database, thus preventing the database engine from adding clusters on an as-needed basis. The BI file is truncated in one of the following ways:
Automatically by the database engine when you start after-imaging (RFUTIL AIMAGE BEGIN)
Automatically by the database engine when you perform an index rebuild (PROUTIL IDXBUILD)
Manually (PROUTIL TRUNCATE BI)
To increase the number of BI clusters, enter the following command:
proutil db-name -C bigrow n
For n, specify the number of BI clusters that you want to create for the specified database.