Choosing MSDBs to load and page-fix

Deciding which MSDBs to load and page-fix involves a trade-off between desired application performance and the amount of real storage available. This decision is made with total Fast Path application requirements in mind.

IMS system initialization requires additional information before MSDBs can be loaded and page fixed. This information is specified in member DBFMSDBx of IMS.PROCLIB. This member is called by executing the control region startup procedure IMS. The suffix 'x' matches the parameter supplied in the MSDB keyword of the EXEC statement in procedure IMS.

The control information that loads and page fixes MSDBs is in 80-character record format in member DBFMSDBx. Either you supply this information or it can be supplied by the output of the MSDB maintenance utility. When the /NRE command requests MSDBLOAD, the definition of the databases to be loaded is found in the DBFMSDBx procedure.

The definition in DBFMSDBx can represent a subset of the MSDBs currently on the sequential data set identified by DD statement MSDBINIT. Explicitly state each MSDB that you want IMS to load. If each MSDB is not explicitly stated, IMS abends.

The format for DBFMSDBx is as follows:

Read syntax diagramSkip visual syntax diagramDBD= dbd_name,NBSEGS= nnnnnnnn,F
dbd_name
The DBD name as specified during DBDGEN.
nnnnnnnn
The number you specify of expected database segments for this MSDB. This number must be equal to or great than the number of MSDB segments loaded during restart.

The NBRSEGS parameter is also used to reserve space for terminal-related dynamic MSDBs for which no data has to be initially loaded.

F
The optional page-fix indicator for this MSDB.
If the MSDBs are so critical to your Fast Path applications that IMS should not run without them, place a first card image at the beginning of the DBFMSDBx member. For each card image, the characters MSDBABND=n must be typed without blanks, and all characters must be within columns 1 and 72 of the card image. Four possible card images exist, and each contains one of the following sets of characters:
MSDBABND=Y
This card image causes the IMS control region to abend if an error occurs while loading the MSDBs during system initialization. Errors include:
  • Open failure on the MSDBINIT data set
  • Error in the MSDB definition
  • I/O error on the MSDBINIT data set
MSDBABND=C
This card image causes the IMS control region to abend if an error occurs while writing the MSDBs to the MSDBCP1 or MSDBCP2 data set in the initial checkpoint after IMS startup.
MSDBABND=I
This card image causes the IMS control region to abend if an error occurs during the initial load of the MSDBs from the MSDBINIT data set, making one or more of the MSDBs unusable. These errors include data errors in the MSDBINIT data set, no segments in the MSDBINIT data set for a defined MSDB, and those errors described under MSDBABND=Y.
MSDBABND=A
This card image causes the IMS control region to abend if an error occurs during the writing of the MSDBs to the MSDBCPn data set (described in MSDBABND=C), or during the initial load of the MSDBs from the MSDBINIT data set (described in MSDBABND=I).
MSDBABND=B
This card image causes the IMS control region to abend if an error occurs during the writing of the MSDBs to the MSDBCPn data set (described in MSDBABND=C), or during the loading of the MSDBs in system initialization (described in MSDBABND=Y).