Defining VSAM performance options
This topic describes the OPTIONS control statement parameters in the DFSVSMxx member that can be used to influence the performance of the IMS DL/I buffering services.
The word OPTIONS starting in position one identifies the OPTIONS statement. You can specify the parameters in any order, but you must separate them with commas. A blank must follow the last parameter. The remaining portion of the statement is not examined. You cannot continue an OPTIONS statement on a subsequent line, but you can provide several statements. If an OPTIONS parameter appears more than once, its setting is determined by the last occurrence. The OPTIONS statement and all its parameters are optional.
Control statements for defining VSAM performance options
- BGWRT=
- Specifies whether (YES) or not (NO) the background write (BGWRT) function of the buffer handler
is to be active. You can also activate background write by coding
BGWRT=(YES,n) or omitting the parameter. n: is a
two-digit number from 10 to 99 specifying the percentage of buffers in each subpool to be considered
as candidates for writing by the background write function; the default is 34.
Related reading: For an explanation of background write, see IMS Version 15.2 Database Administration.
- BLDSNDX=
- Provides an option to control the building of secondary indexes during initial load of an HALDB.
If BLDSNDX=YES, or the parameter is omitted, then the creation of secondary indexes during initial load is allowed.
IF BLDSNDX=NO, then the creation of secondary indexes during initial load is suppressed.
- INSERT=
- Specifies the insert mode that the buffer handler uses when inserting new KSDS logical records
into any of the following databases: HISAM, Single segment HISAM, and INDEX.
If a program inserts many new root segments in sequence by key, specifying INSERT=SEQ causes the buffer handler to use VSAM sequential mode PUTs. VSAM leaves free space (if you specify it in the DEFINE) for VSAM data sets in CIs created for the new records that are inserted using VSAM's mass insert. Specifying INSERT=SKP, or omitting the parameter, causes the buffer handler to use VSAM skip sequential mode PUTs if the database is in sequential mode, or to use direct mode PUTs if the database is not in sequential mode. For more information about sequential mode databases, see VSAM subpool definition. In either mode, VSAM does not leave free space, even if it is specified in the DEFINE regardless of whether DL/I inserts in load or insert mode.
The default is SKP, except in utilities, where it is SEQ.
You can override INSERT=SEQ with the FREESPACE parameter of the DBD control statement. FREESPACE=YES causes the buffer handler to user VSAM sequential mode PUTs. Specifying FREESPACE=NO, or omitting the parameter, causes the buffer handler to use VSAM skip sequential mode PUTs if the database is in sequential mode, or to use direct mode PUTs if the database is not in sequential mode.
- STRINGMX=
- Specifies the maximum number of VSAM requests that can be concurrently active. n is any number between 1 and 255. If you omit this keyword, the default value is the value specified on either the MAXREGN= parameter on the IMSCTRL macro or the PST= parameter on the IMS procedure EXEC statement (which overrides the MAXREGN= value). The STRINGMX= keyword overrides either of these two values.
- VSAMFIX=
- Causes VSAM resource pools to be page fixed in main storage.
- BFR
- Specifies that the buffer subpools and control blocks should be fixed. If you define a large number of buffers and then use VSAMFIX=BFR the system might abend.
- IOB
- Specifies that the input/output related blocks should be fixed.
Either or both operands can be specified. The syntax for specifying both operands is (BFR,IOB) or (IOB,BFR).
- VSAMPLS=LOCL
- Specifies that the VSAM shared resource pools are to be built. The only valid value is the default, LOCL.