Salesforce

Where do Alternate Buffer pool objects go if -B2 was not used to start the db?

« Go Back

Information

 
TitleWhere do Alternate Buffer pool objects go if -B2 was not used to start the db?
URL Nameassigned-objects-when-no-or-insufficient-Alternate-Buffer-pool-is-in-use-000066851
Article Number000183738
EnvironmentProduct: OpenEdge
Version: 10.2B, 11.x, 12
OS: All supported platforms
Other: Database, Alternate Buffer Pool
Question/Problem Description
Where do assigned objects go when no -B2 or insufficient Alternate Buffer pool is in use
Where do Alternate Buffer pool objects go if -B2 was not used to start the db?
What default -B2 is used when not specified in the database startup parameters?
What happens when the allocated buffer pool size is full and new blocks need to be read into -B2?
Must -B2 be used if proutil -C viewB2 shows Alternate Buffer Pool?
Is it better to have part of a table in the Alternate Buffer pool than none of that table at all when LRU2 is enabled?
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
When -B2 is not specified at database startup, then the Secondary Buffer Pool is not in use (defaults to 0 )

When starting up a database broker without the -B2 parameter, it is not necessary to un-assign objects assigned to the Alternate Buffer Pool.
  • When the Secondary Buffer Pool is not in use, but database objects (tables, indexes, lobs) have been assigned to the Alternate Buffer Pool, they will still be loaded into the Primary Buffer Pool (-B) when needed and will be subject to eviction from the Primary Buffer Pool along with any other (unassigned) object blocks when LRU is activated.
When starting up a database broker with a -B2 that does not fit, it works just like the Primary Buffer Pool (-B) with LRU.
  • When -B2 is specified at database startup but not large enough to contain assigned objects as they are loaded, the Alternate Buffer Pool has its own LRU2 chain which is activated that evicts buffers to make room for new buffers. 
  • There is nothing to prevent assigning objects to the Secondary Buffer Pool where -B2 is not large enough to hold the entire content.
  • Having part of a table (for example) was not really the design intent of providing a Secondary Buffer Pool. It is never-the-less part of the database architecture to be used as seen fit.  
  • General recommendations as to best candidates for the secondary buffer pool can be found in Article: Basic guide on when to use the Alternate Buffer Pool -B2  and complementary Article How to size monitor and manage the Alternate Buffer Pool (-B2)  
When using -B2, it's recommended to run online utilities 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
Workaround
Notes
Keyword Phrase
Last Modified Date9/17/2021 11:50 AM

Powered by