Wednesday, November 12, 2008

DB2 – Buffer Pool:

A buffer pool is an area of storage in memory into which database pages (containing table rows or index entries) are temporarily read and changed. The purpose of the buffer pool is to improve database system performance. Data can be accessed much faster from memory than from a disk. Therefore, the fewer times the database manager needs to read from or write to a disk, the better the performance. The configuration of one or more buffer pools is the single most important tuning area, since it is here that most of the data manipulation takes place for applications connected to the database (excluding large objects and long field data).

By default, applications use the buffer pool called IBMDEFAULTBP, which is created when the database is created. The DB2 database configuration parameter BUFFPAGE controls the size of a buffer pool when the value of NPAGES is -1 for that buffer pool in the SYSCAT.BUFFERPOOLS catalog table. Otherwise the BUFFPAGE parameter is ignored, and the buffer pool is created with the number of pages specified by the NPAGES parameter.

1 comment:

Unknown said...

Hello, We are facing the issue related to the buffer pools,
I have looked into the syscat.bufferpools for the the buffer pool id, which is used by our tablespace.

Here is the query that i fired :

db2 "select substr(bpname, 1,15) as bpname, NPAGES, PAGESIZE from syscat.bufferpools where bufferpoolid='1'"


RESP :

BPNAME NPAGES PAGESIZE
--------------- ----------- -----------
IBMDEFAULTBP -2 32768


The Npages value is set to -2, and no "BuffPage" value is set for that database config.