How To
Summary
You can define the DFSMSrmm control data set as either an extended format (EF) or a basic format VSAM data set. Using a basic format data set for the DFSMSrmm control data set, limits the control data set size to a maximum of 4 GB. Using an EF data set enables you to use VSAM functions such as multivolume allocation, compression, or striping. EF also enables you to define a control data set that uses VSAM extended addressability (EA) to enable the control data set to grow above 4 GB.
Objective
Steps
z/OS DFSMSrmm Implementation and Customization Guide SC23-6874-00
Steps for moving the control data set and journal using the DFSMSrmm
EDGHSKP utility with the PARM='BACKUP' parameter
. .
https://www.ibm.com/docs/en/zos/3.1.0?topic=mcdsjdd-steps-moving-control-data-set-journal-using-dfsmsrmm-edghskp-utility-parmbackup-parameter
.
Below are step by step procedures which are similar to moving control data set outlined in above manual.
- Dataclas - Define a DATACLAS with following attributes(if one does not exist) and assign this DATACLAS construct to these data sets in your DATACLAS ACS routine:
Data Set Name Type . . . . . : EXTENDED
If Extended . . . . . . . . : REQUIRED
Extended Addressability . . : YES- Storclas - Update Storclas ACS routine to assign a storage class for these data sets
- Mgmtclas - Update Mgmtclas ACS routine to assign a mgmtclas with no action attributes, that is no backup by hsm, expiration, migration and partial release. This is to ensure DFSMShsm does not process these data sets which could lead to lock out conditions.

- Storgrp - Update Storgrp ACS routine to assign a storgrp based on above storclas and data set names and ensure the Auto Migrate, Auto Backup and Auto Dump are set to NO. This will prevent DFSMShsm from doing space management and availability management and contention issues.
- Define - Define volume(s) to the Storgrp that will be used to allocate the CDS
- Translate/Validate SMS Configuration and Implement the new SMS configuration
- Initialize a volume(s) for this storage group.
.
4) Verify control data set. This will verify the current state of records in the CDS and you can use this report to compare with the VERIFY output after the procedure is completed. They should both be in same state:
//* -------------------------------------------------------------- *
//* VERIFIES CONTROL DATA SET INFORMATION FORMAT *
//* -------------------------------------------------------------- *
//VERIFY EXEC PGM=EDGUTIL,PARM='VERIFY'
//MASTER DD DISP=SHR,DSN=DFRMM.CDS,AMP=('BUFND=50,BUFNI=50')
//SYSPRINT DD SYSOUT=*
//SORTWK01 DD UNIT=SYSALLDA,SPACE=(CYL,(45,10))
//SORTWK02 DD UNIT=SYSALLDA,SPACE=(CYL,(45,10))
//SORTWK03 DD UNIT=SYSALLDA,SPACE=(CYL,(45,10))
//SYSIN DD DUMMY
//.
5) Hold and allow tape processing to complete on ALL lpars that are sharing this CDS. This means also stopping or holding tasks that use tape by started tasks such as DFSMShsm.
6) Stop RMM on all Lpars EXCEPT for Lpar where you will be doing the moving/converting of CDS activity.
7) Run PGM=EDGHSKP,PARM='BACKUP' This will backup the CDS and JOURNAL using IDCAMS REPRO, and clear the journal.
Some records might be written to the journal if any updates are made to the control data set before the RMM procedure is stopped. This is not a problem because the CDS forward recovery will be done in STEP10.
//BACKUP EXEC PGM=EDGHSKP,PARM='BACKUP'
//MESSAGE DD DISP=SHR,DSN=messages
//SYSPRINT DD SYSOUT=*
//BACKUP DD DISP=(,CATLG),DSN=cds.backup.Dyyyyddd.Thhmm,UNIT=SYSALLDA
// RECFM=VB,LRECL=9216,BLKSIZE=0,SPACE=(CYL,(xx,yy))
//JRNLBKUP DD DISP=(,CATLG),
// DSN=journal.backup.Dyyyyddd.Thhmm,UNIT=SYSALLDA
// RECFM=VB,LRECL=9248,BLKSIZE=0,BUFNO=30,SPACE=(CYL,(xx,yy))

8) Shutdown RMM on this last remaining Lpar and verify that RMM is also down on all Lpars sharing this CDS.
- RO *ALL,P DFRMM
- Verify the tasks are down on ALL lpars. Use the following command to check if any tasks are up: RO *ALL,D A,DFRMM
- Hold all jobs using PGM=EDGHSKP/EDGBKUP or any RMM related functions in your batch scheduling system and automation tool(s).
- Verify nothing is allocated to RMM CDS and Journal by issuing command: RO *ALL,D GRS,RES=(SYSDSN,DFRMM.CDS)
9) Allocate your new RMM CDS for example DFRMM.CDS.NEW.
Allocating space for the control data set
https://www.ibm.com/docs/en/zos/3.1.0?topic=set-allocating-space-control-data
- The DFRMM.CDS.NEW should have been allocated on SMS volume residing in storgrp created in step 2.
- Verify DFRMM.CDS.NEW was allocated with extended attributes by issuing LISTCAT ENT('DFRMM.CDS.NEW') ALL. The LISTCAT should show the CDS allocated as "EXTENDED EXT-ADDR" attributes.
10) Restore the CDS to NEW CDS from backup taken in Step 7.
This JCL example does forward recovery of the CDS into the new control data set and uses the OLD journal to forward recover the
control data set backup to the point where the you stopped the DFRMM procedure. This procedure using DFRMM.JOURNAL as your current journal.
//RESTORE EXEC PGM=EDGBKUP,PARM='RESTORE'
//SYSPRINT DD SYSOUT=*
//BACKUP DD DISP=SHR,DSN=cds.backup.Dyyyyddd.Thhmm
//MASTER DD DISP=SHR,DSN=DFRMM.CDS.NEW
//JOURNAL DD DISP=SHR,DSN=journal.backup.Dyyyyddd.Thhmm
// DD DISP=SHR,DSN=DFRMM.JOURNAL
//* 
11) Rename CDSs. This will rename your current CDS to **.OLD and **.NEW to data set name specified in EDGRMMxx DSNAME parameter in OPTION command.
Use IDCAMS ALTER command to rename the new control data set and new
journal, after renaming the old data sets
For example:
//IDCAMS EXEC PGM=IDCAMS
//SYSPRINT DD SYSOUT=*
//SYSIN DD *
ALTER DFRMM.CDS NEWNAME(DFRMM.CDS.OLD)
ALTER DFRMM.CDS.DATA NEWNAME(DFRMM.CDS.OLD.DATA)
ALTER DFRMM.CDS.INDEX NEWNAME(DFRMM.CDS.OLD.INDEX)
IF LASTCC=0 THEN DO
LISTCAT ENT(DFRMM.CDS.OLD) ALL
LISTCAT ENT(DFRMM.CDS.NEW) ALL
IF LASTCC=0 THEN DO
ALTER DFRMM.CDS.NEW NEWNAME(DFRMM.CDS)
ALTER DFRMM.CDS.NEW.DATA NEWNAME(DFRMM.CDS.DATA)
ALTER DFRMM.CDS.NEW.INDEX NEWNAME(DFRMM.CDS.INDEX)
IF LASTCC=0 THEN DO
LISTCAT ENT(DFRMM.CDS) ALL
/*
- Verify the record counts from the output created from LISTCAT(DFRMM.CDS.OLD vs DFRMM.CDS vs DFRMM.CDS.NEW) they should all be the same.
nn EDG2106D JOURNAL AND CONTROL DATA SET DO NOT MATCH - REPLY "C" TO
CANCEL, "D" TO DISABLE OR "L" TO LOCKRespond either 'D' or 'L', RMM will come up without journaling.
- Run EDGHSKP PARM='BACKUP', Journaling will be re-enabled once you take a new backup of the CDS/Journal and once the journal is cleared, journaling will be enabled:
Example:
//BACKUP EXEC PGM=EDGHSKP,PARM='BACKUP'
//MESSAGE DD DISP=SHR,DSN=messages
//SYSPRINT DD SYSOUT=*
//BACKUP DD DISP=(,CATLG),DSN=?RMM.CDS.BKUP(+1),UNIT=SYSALLDA
// RECFM=VB,LRECL=9216,BLKSIZE=0,SPACE=(CYL,(xx,yy))
//JRNLBKUP DD DISP=(,CATLG),
// DSN=?RMM.JRNL.BKUP(+1),UNIT=SYSALLDA
// RECFM=VB,LRECL=9248,BLKSIZE=0,BUFNO=30,SPACE=(CYL,(xx,yy))13) Verify control data set:
//* -------------------------------------------------------------- *
//* VERIFIES CONTROL DATA SET INFORMATION FORMAT *
//* -------------------------------------------------------------- *
//VERIFY EXEC PGM=EDGUTIL,PARM='VERIFY'
//MASTER DD DISP=SHR,DSN=DFRMM.CDS,AMP=('BUFND=50,BUFNI=50')
//SYSPRINT DD SYSOUT=*
//SORTWK01 DD UNIT=SYSALLDA,SPACE=(CYL,(45,10))
//SORTWK02 DD UNIT=SYSALLDA,SPACE=(CYL,(45,10))
//SORTWK03 DD UNIT=SYSALLDA,SPACE=(CYL,(45,10))
//SYSIN DD DUMMY
14) Verify the output with output created in Step 4.
16) Bring up RMM on remaining Lpars sharing the CDS, release HSM, any other tasks you may have held, including automation, batch scheduling and tape processing.
17) Update any of your disaster recovery procedures if you are re-defining the CDS at DR as it is now in EF format.
Additional Information
NOTE:
Once the REORG process completes, there is little or no room for insertion of records into the existing CI/CA structure. Therefore, each new record has a great likelihood of causing a split and degrading performance. While splits for insertions are normal, requiring one to be made for nearly every record update is a performance hit.
After a reorg, the CDS is compressed and there is an apparent decrease in the percentage of used space. However, activity in the next several days results in a rapid increase in the percent full for the CDS files as record insertions cause CA/CI splits. Doing frequent reorgs compresses the file about the time it is becoming a mature, efficient data set. CDS files typically settle in around 80% used when allocated at the correct size. The rapid increase in used space is to be expected after a reorg but the level will stabilize after a few days of normal processing. If it stabilizes at a value over 90%, consider allocating a larger CDS.
Document Location
Worldwide
Was this topic helpful?
Document Information
Modified date:
15 December 2025
UID
ibm17165095