Upgrade to OpenEdge 11.7.0, 11.6.4.006, 11.6.3.032 where the buffer pool exhaustion 1040 is avoided by reverting the changes to the picking algorithm for Object Level
assignments (PSC00346392). For further information refer to Article:
This means over sizing the Alternate Buffer Pool
to specifically avoid the LRU2 mechanism from being enabled. Beyond the size of assigned object data:
1. For Object Level
Alternate Buffer Pool assignment, include:
- Index / LOB free blocks and Master Control Object Blocks, when a table’s related index / lob are not also assigned at the object level
Alternatively use Area level Alternate Buffer Pool assignment:
- Move all Objects that will be assigned to the Alternate Buffer Pool into one or more Type II Storage Areas
- Assign the Storage Area to the Alternate Buffer Pool: proutil -C enableB2 "area name"
Since OpenEdge 11.7 this information is included in:
- PROUTIL -C viewB2 which includes the current storage pool assigned, the size (in blocks) of each object, the type of block and a Total for the Area.
- PROMON> R&D > 2,3 (activity, buffer pool) which provides detail about the types of blocks accessed in the buffer pools.
2. When Run online tools with block level access, as opposed to block requests for specific objects, with Private Buffers (-Bp)
- probkup online dbname <backupvolume> -Bp 64
- proutil dbname -C dbanalys -Bp 64
Consider increasing the database startup parameter -Bpmax 64 (default). The private buffer pool (-Bp) is an isolated portion of public buffer pool (-B), it is also limited to no more than 25% of the primary buffer pool (-B) value. Client sessions may also be making use of using private buffers (-Bp, NumSeqBuffers)
3. For TDE enabled databases:
Start the Database without -B2
in order to run epolicy manage update
sessions to encrypt existing data.
Once blocks have been encrypted, initialise -B2 online with: proutil -C increaseto -B2 <value>
4. Finally, periodically monitor and increase the Alternate Buffer pool size once LRU2 is enabled:PROMON > R&D > 2 Activity Displays > 3 Buffer Cache
"LRU2 replacement policy enabled"
PROUTIL -C INCREASETO -B2 <value>PROMON > R&D > 4 Administrative Functions > 4 Adjust Latch Options > 3. Disable LRU2 alternate buffer pool replacement policy