IMS buffer pools

Three types of buffer pools control the IMS™ DL/I buffering services: the VSAM shared resource pool, the OSAM buffer pool, and the OSAM Sequential Buffer (SB) pool.

This topic describes the parameters that define the size and content of the IMS buffer pools. Each data set can have no more than one open ACB (VSAM access method control block).

VSAM constructs the VSAM shared resource pool based on parameters provided by the VSAM BLDVRP macro, which is issued during IMS initialization. This pool contains buffers to be used for VSAM data sets (both index and data components) and the input/output-related control blocks necessary to perform VSAM requests. The buffers are combined in subpools. All buffers within a subpool are of equal length.

The OSAM buffer pool is required for IMS online and batch operations. This pool contains buffers to be used for OSAM data set data components and the input/output-related control blocks necessary to perform OSAM requests. The buffers are combined in subpools. All buffers within a subpool are of equal length.

In addition to defining OSAM and VSAM subpools in the DFSVSMxx member of the IMS PROCLIB data set, OSAM and VSAM subpools can be changed dynamically, while IMS resources are actively in use. Define database buffer pool definitions dynamically by specifying parameters in the DFSDFxxx member of the IMS PROCLIB data set and then issuing a type-2 UPDATE POOL TYPE(DBAS) command.

IMS dynamically constructs the OSAM Sequential Buffer (SB) pool when application programs or utilities using SB are active. To allow online applications to use SB, you must provide a SBONLINE control statement in the DFSVSMxx member of the IMS PROCLIB data set for an IMS DB/DC or DBCTL environment.

Each application program or utility that is using SB has its own SB buffer pools. You can control the use of SB by an application program or utility using either PSBGEN, control statements in the //DFSCTL data set, or an SB Initialization exit routine.