This was recently posted on the PEG, and illustrates a shortcoming of the PSC docs....
after reading the 10.2B documentation and clicking all links associated to the -B2 alternate buffer pool parameter, I don't find any explaination of when/why/recommendation on settings anywhere in the
documentation.
Since this is new in OE10 - and was not in v9 - does anyone have any answers to my questions below:
1. When should the -B2 parameter be set?
2. Why should the -B2 parameter be set?
3. What recommendation for values of -B2 should be used as rule of thumb...like how should it be calculated?
4. Normally should this be set?
I'd note that incomplete / hard to understand docs -> the product not being fully utilized, user frustration, and more tech support calls.
The alternate buffer pool is similar to the main buffer pool you already have. Its size is set with the -B2 startup configuration parameter and like -B, its value is the number of buffers to allocate. The buffers are allocated from the shared memory area just like the main buffer pool is.
Unlike the main buffer pool, nothing goes into the alternate buffer pool unless you say to put it there. You can assign individual tables and/or indexes that are housed in Type II data areas. You make the assignments using the data admin tool. You can also assign an entire data area (Type I or Type II) to the alternate buffer pool. You can use proutil for this. Details are in the documentation.
As for what to put into the alternate buffer pool and how it should be sized, that is highly application and system dependent. The reason for putting something into the alternate buffer pool is to increase performance. The stuff in the alternate buffer pool is isolated from the main buffer pool and won't be paged out by all the other activity in the main buffer pool. If you make good choices for what to put there, and it all fits, you can get a big performance boost. If you put too much stuff into the alternate buffer pool, you may get less benefit. There are several possible usage scenarios:
Hope that is at least somewhat helpful.
Gus -
Thanks for your response - while your answer is technically accurate, the point I was making was that this information isn't in the PSC docs, and it should've been.
In the documentation it says:
"The Alternate Buffer Pool is a collection of buffers in shared memory that
are logically separate from the primary buffer pool. Management of the
buffers in the Alternate Buffer Pool is independent of the primary buffer
pool. Assigning specific database areas or objects to occupy buffers from
the Alternate Buffer Pool might improve your buffer hit rate, thereby
reducing the need to read and write buffers to and from disk, and possibly
improving performance.
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."
While you might wish for more, it /is/ in the doc.