IBM Books

Administration Guide


Managing Multiple Database Buffer Pools

Each database requires at least one buffer pool. However, depending on your needs you may choose to create several buffer pools, each of a different size, for a single database. The CREATE, ALTER, and DROP BUFFERPOOL statements allow you to create, change, or remove a buffer pool. You can specify which data is cached in a buffer pool with the CREATE TABLESPACE and ALTER TABLESPACE statements.

The buffpage configuration parameter specifies the size of any buffer pool, if the buffer pool's size is specified as -1 in the SYSIBM.SYSBUFFERPOOLS catalog table. (Otherwise this parameter is ignored.) A buffer pool's size can be set with the DDL statements ALTER BUFFERPOOL or CREATE BUFFERPOOL.

A new or migrated database has a default buffer pool called IBMDEFAULTBP. Migrated databases have a default buffer pool with a size determined by the buffpage configuration parameter (because the SIZE of the buffer pool in the SYSIBM.SYSBUFFERPOOLS catalog table is set to -1 for migration). New databases have a default buffer pool with a size determined by the platform. Once a database is created or migrated, then other buffer pools can be created for it.

In a partitioned database environment, each buffer pool for a database has the same default definition on all database partitions (unless it was otherwise specified in the CREATE BUFFERPOOL statement, or the buffer pool's size was changed for a particular database partition with the ALTER BUFFERPOOL statement).

Table spaces can be assigned to specific buffer pools with the BUFFERPOOL parameter for either the CREATE or ALTER TABLESPACE statements. When table spaces are created, if they are not specifically assigned to a buffer pool they are assigned to the default buffer pool.

When creating or altering buffer pools, the total memory that is required by all buffer pools must be available to the database manager so that all of the buffer pools can be allocated when the database is started. Should this memory not be available when a database is started, the database manager attempts to start the default buffer pool (IBMDEFAULTBP), but only with a minimal size. A warning message is returned with each failed attempt to start a buffer pool; the database continues in this operational state until its configuration is changed and the database can be fully restarted.
Note:Although the size and attributes associated with the default buffer pool can be changed, it cannot be dropped. Also, there is a minimum size for each buffer pool that is based on the platform being used.

There are advantages to having a large amount of memory allocated to buffer pools. For example, larger buffer pool sizes:

Choosing One or Many Buffer Pools

If any of the following conditions apply to your system, you should use only a single buffer pool:

If your system is not constrained by these conditions, then consider using more than one buffer pool for the following potential performance improvements:


[ Top of Page | Previous Page | Next Page | Table of Contents | Index ]

[ DB2 List of Books | Search the DB2 Books ]