When increasing the size of the buffer pool (-B) is not possible or does not improve buffer hit ratios, creating an Alternate Buffer Pool and designating objects to use it, might be beneficial.
The Alternate Buffer pool gives the database administrator the ability to modify buffer pool behavior by designating objects or areas to consume buffers from the Alternate Buffer Pool, rather than from the primary buffer pool. The size of the Alternate Buffer Pool is specified with the startup parameter -B2. Both the Alternate Buffer Pool and the primary buffer pool consume shared memory, and the sum total of both buffer pools is limited by the established shared memory maximums.
Specifying the best objects for the Alternate Buffer Pool is application-specific. Tables considered "hot" (very active) are good candidates, as are their related indexes. Tables and indexes that are governed by an encryption policy are also considered good candidates because the cost of encrypting and decrypting blocks as they are written and read from disk can be high.
The Alternate Buffer Pool operates under the following rules:
Allocation of an Alternate Buffer Pool requires an Enterprise database license. The -B2 startup parameter is ignored for non-enterprise databases.
If you change buffer pool assignments for objects at runtime, existing buffers remain in the buffer pool where they were originally allocated.
Private read-only buffers (-Bp) are always obtained from the primary buffer pool regardless of the buffer pool designation of the object.
Database control and recovery areas cannot be assigned to the Alternate Buffer Pool.
If you do not specify a size for the Alternate Buffer Pool at startup, all objects and areas consume buffers from the primary buffer pool.
You can increase the size of the Alternate Buffer Pool with the PROUTIL INCREASETO utility.
For more information on the Alternate Buffer Pool, see OpenEdge Data Management: Database Administration.