Defining OSAM subpools

This topic describes control statements in the DFSVSMxx member that you use to define OSAM subpools.

IOBF control statements

Read syntax diagramSkip visual syntax diagramIOBF=(A)
A
Read syntax diagramSkip visual syntax diagram length , 4number , Nfix1 , Nfix2 , id , co
IOBF=
Is the required keyword for OSAM subpool definition. It must begin in the first position of the control statement. Only one set of subparameters can appear on each control statement.
length
Specifies the length of the buffers in the subpool. Specify the value in bytes, between 512 and 32000. Depending on the value that you specify, IMS rounds it up to 512, 1024, 2048, and thereafter to multiples of 2048. You can code specifications of 1024 and above as 1K, 2K, 4K, and thereafter round them up to multiples of 2K to a maximum of 32K. If you enter an invalid value, IMS ignores the entire IOBF statement. This parameter is required.
number
Specifies the number of buffers in the subpool. If specified, you must choose a value between 4 and 32767. If you choose a number greater than 32767, the default value of 255 is used. If not specified, the default value is 4. If this parameter is invalid, the remainder of the entry is ignored, and defaults apply for all remaining parameters. This parameter is optional.
fix1
Specifies the buffer long-term page-fixing option. If you specify Y, all buffers and buffer prefixes associated with this subpool are long-term page-fixed at initialization of the subpool. If you specify N, no buffers associated with this subpool are long-term page-fixed at initialization of the subpool. The default is N. This parameter is optional.
fix2
Specifies the buffer prefix long-term-page-fixing option. If you specify Y, all buffer prefixes associated with this subpool and the subpool header are long-term-page-fixed at initialization of the subpool. If you specify N, the subpool header and all buffer prefixes associated with this subpool are not long-term-page-fixed at initialization of the subpool. The default is N. This parameter is optional.
id

Specifies a user-defined identifier to be assigned to a subpool. This ID is a one- to four-character alphanumeric field and is used with the DBD statement to assign a specific subpool to a given data set. If this parameter is not coded, IMS assigns a null ID to the subpool.

If two or more subpool definition statements specify the same buffer size (without the subpool ID), the number of buffers from the statements are summed. If the total does not exceed 32767, IMS builds a single subpool with the total number of buffers; however, if it does exceed 32767, a single subpool with 255 buffers is built. If two or more subpool definition statements specify the same buffer size, the statement with lower alphanumeric order is considered as default. The lowest possible value is null ID.

co

Specifies the subpool caching option. For more information about OSAM data caching, see OSAM subpool definition.

You can specify the caching option in one of the following ways:
omitted
No data caching.

Caching is not active for the subpool.

N
No data caching.

Caching is not active for the subpool.

A
Cache all data.

Write all data read from DASD and all changed data to the coupling facility

C
Cache only changed data.

Write all changed data written to DASD to the coupling facility.

If you specify any value other than A, C, or N, no data caching for the subpool occurs. The default is N.

Requirement: Ensure that all IMS data sharing subsystems, whether Batch or Online, use the same structure and Caching Options (CO) when using OSAM DL/I Data Caching (ODC). These options are defined in either the DFSVSMxx PROCLIB members for Online, or in the DFSVSAMP DD cards for Batch with the CFNAMES and IOBF statements. Failure to ensure structure consistency across IMS subsystems can result in data integrity or performance problems.

DBD control statements

Read syntax diagramSkip visual syntax diagramDBD= dbdname( data set number, id)
DBD=
If coded, specifies that the indicated subpool is to be assigned to the data set having a matching ID parameter as defined on the IOBF= subpool definition statement. For OSAM, ERASE and FREESPACE are invalid.
dbdname
Specifies the name on the DBD macro statement NAME= keyword. The DBD name can be for a non-partitioned database, a HALDB partition, or a HALDB master. For a HALDB partition, specify the name of the partition as the dbdname. If you specify a HALDB master name, all the HALDB partitions associated with the HALDB are assigned to the same subpool.

Related reading: For information about coding the DBD macro statement, see Database Description (DBD) Generation utility.

data set number
Identifies the specific data set of a data set group within a database (identified by the dbdname parameter) that requests assignment of a specific shared pool. The number is an IMS internally assigned value between 1 and 10.

For data organizations such as primary index, unique secondary index, and HISAM without dependent segments, the primary data set of the data set group is assigned data set number 1. No secondary data set of the data set group exists for these data organizations.

For data organizations such as non-unique secondary index, and HISAM with dependent segments, the primary data set of the data set group is assigned data set number 1, and the secondary data set of the data set group is assigned data set number 2.

For hierarchic direct data organization, the data set group always consists of a single data set. The data set of the first data set group is assigned data set number 1, and data set numbers for subsequent data set groups are sequentially assigned numbers 2,3, ...10. The maximum number of data set groups for a database is 10.

Requirement: For High Availability Large Databases (HALDBs), specify the data set number as an alphabetic character. The valid data set numbers defined for HALDB partition data sets are A through J, L, and X. (When HALDB Online Reorganization is used, data sets M through V and Y are automatically directed to the same shared resource pools for data sets A through J and X. The specification of M through V and Y are not valid.) The data set of the first data set group must be assigned the letter A (for both data sets A and M when HALDB Online Reorganization is used). The data set numbers for subsequent data set groups (B through J and N through V when HALDB Online Reorganization is used) must be sequentially assigned the other valid letters (B,C, ..., J). Use the letter L to specify the indirect list data set. For PHIDAM databases, use the letter X (for both data sets X and Y when HALDB Online Reorganization is used) to specify the primary index data set.

id
Specifies the user-defined identifier to be assigned to a specific subpool. The ID is a one- to four-character alphanumeric field and must be equal to the ID assigned to the specific subpool on the IOBF statement.

Subpools are assigned to data sets based upon buffer length. First, a subpool having buffers equal to or greater than the buffer length required for the data set is located. Then, if a specific subpool was requested, it is assigned, if its length is not less than the required length. In this case, the first subpool that meets the length criterion is assigned. The subpool might not have an ID assigned to it.

OSAMOP control statements

Read syntax diagramSkip visual syntax diagram OSAMOP IOSCB=NO
The OSAMOP statement allows options specific to the OSAM access method.
IOSCB=NO
Indicates that no OSAM resources are to be allocated to the batch applications that do not require OSAM services.
Read syntax diagramSkip visual syntax diagram OSAMOP OSAMGTF=YES
OSAMGTF=YES
Enables OSAM to generate GTF trace records while in batch.