Why am I getting the error, 'MASTER FILE RECORD SIZE MUST BE 8 LESS THAN CONTROL INTERVAL SIZE' when trying to initialize after creating a new Librarian VSAM master file?
*** ERROR *** MASTER FILE RECORD SIZE MUST BE 8 LESS THAN CONTROL INTERVAL SIZE.
Release: 4.4
1. The record size must be must be eight less than the CISIZE. For example, if the CISIZE is 10240 then the RECORDSIZE must be 10232.
Before initialing a Librarian VSAM file you will need to define the VSAM cluster using the IBM IDCAMS utility
Example:
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
DEFINE -
CLUSTER -
(NAME(YOUR.VSAM.MASTER.MN) -
VOLUMES(XXXXXX XXXXXX XXXXXX) -
CYLINDERS(5 2) -
REUSE -
NUMBERED -
CONTROLINTERVALSIZE(10240) -
RECORDSIZE(10232 10232) -
SHAREOPTIONS(4 4)) -
DATA -
(NAME(YOUR.VSAM.MASTER.MN.DC))
/*
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
LISTCAT ENTRIES(YOUR.VSAM.MASTER.MN) ALL
/*
Note the following items:
* CONTROLINTERVALSIZE can be (n x 512) or (n x 2048), where n is any number from 1 to 16, inclusive.
* RECORDSIZE must be 8 less than the CONTROLINTERVALSIZE. The RECORDSIZE for VSAM master files is not an indication of the length for the users' logical records. CA Librarian blocks and compresses many user logical records into a single record or the defined VSAM cluster. However, user logical records can span VSAM logical records, if needed.
* You must specify REUSE and NUMBERED.
* You must specify SHAREOPTIONS (4 4), indicating that the data set is fully shared and that CA Librarian maintains data integrity.
2. Next step is to initialize the newly created Librarian VSAM master file.
Example:
//INITSYS EXEC PGM=AFOLIBR,PARM='NRJS,NJTA,DEPTH=25'
//STEPLIB DD DSN=YOUR.LIBRARIAN.CALJLINK,DISP=SHR
//MASTER DD DSN=YOUR.VSAM.MASTER.MN,DISP=SHR
//SYSPRINT DD SYSOUT=*
//INDEX DD SYSOUT=*
//OSJOB DD DUMMY
//SYSIN DD *
-OPT INIT,DISK,ARC=12,BLOCKS=nnnnn
-END
/*
//
BLOCKS=nnnnn specifies the number of VSAM records to initialize. If omitted, only the primary extent space allocation of the data set are initialized. To calculate the maximum number of blocks (assuming that the primary and secondary space allocations are the same), use the following equation:
physrecs/track * number of tracks = Z
Z + ( (primary space/second space) * Z * 117) = BLOCKS
The value of primary space and secondary space is obtained from the SPACE( ) parameter in the IDCAMS DEFINE job. The value of physrecs/track and number of tracks are obtained from the LISTCAT ENT(your.vsam.master) ALL command. This formula does not assume the primary space and secondary space are equal. The BLOCK= is not mandatory but it is recommended.
For more information on initializing Librarian master files, see the Initialization section of Chapter 3: Disk Master Files
in the CA Librarian System Services Reference Guide.