FDRMOVE consolidate volumes with MOVE function
All examples in this section are found in the JCL library installed with FDRMOVE. The member names are PA32507x.
Consolidate Entire Volumes without Instant Replication (MOVE) Example
In this scenario, you want to consolidate volumes with FDRMOVE, but you do not have any instant replication facility available. You can also use it when you know that the data sets involved are not always in use, so that FDRMOVE has an opportunity to move them.
Step 1: (Simulation) of the Consolidate Entire Volumes without Instant Replication (MOVE) Example
A simulated MOVE that identifies all volumes and data sets to be moved. It also identifies the jobs currently holding the SYSDSN enqueue on those data sets. It also identifies catalogs and other data sets that FDRMOVE cannot move; these volumes may need to be moved with an FDRPAS swap.
//job JOB …
//STEP1 EXEC PGM=FDRMOVE,REGION=0M,TIME=1440//STEPLIB DD DISP=SHR,DSN=fdrpas.loadlib//SYSPRINT DD SYSOUT=*//FDRSUMM DD SYSOUT=*//SYSUDUMP DD SYSOUT=*//SYSIN DD * SIMMOVE TYPE=DSF,DISABLENEW=YES SELECT ALLDSN,VOL=IN0001,NVOL=(OUT001,OUT002,…,OUT022) SELECT ALLDSN,VOL=IN0002,NVOL=(OUT001,OUT002,…,OUT022) SELECT ALLDSN,VOL=IN0003,NVOL=(OUT001,OUT002,…,OUT022) … SELECT ALLDSN,VOL=IN0060,NVOL=(OUT001,OUT002,…,OUT022)/*
Repeat Step1 if necessary to fix JCL or control statement errors, NVOL= lists, and the rest.
Step 2: (MOVE Process) of the Consolidate Entire Volumes without Instant Replication (MOVE) Example
The MOVE job. It moves the data sets from the input volumes when they become available (not enqueued). DISABLENEW=YES sets the input volumes to DISNEW (SMS) or PRIVATE (non SMS-managed) so that the volumes are no longer used for new data sets; remove it if you do not plan to remove the input subsystem.
//job JOB …
//STEP2 EXEC PGM=FDRMOVE,REGION=0M,TIME=1440//STEPLIB DD DISP=SHR,DSN=fdrpas.loadlib//SYSPRINT DD SYSOUT=*//FDRSUMM DD SYSOUT=*//SYSUDUMP DD SYSOUT=*//SYSIN DD * MOVE TYPE=DSF,DISABLENEW=YES SELECT ALLDSN,VOL=IN0001,NVOL=(OUT001,OUT002,…,OUT022) SELECT ALLDSN,VOL=IN0002,NVOL=(OUT001,OUT002,…,OUT022) SELECT ALLDSN,VOL=IN0003,NVOL=(OUT001,OUT002,…,OUT022) … SELECT ALLDSN,VOL=IN0060,NVOL=(OUT001,OUT002,…,OUT022)/*
- You can leave the MOVE job running for an indefinite period, until all data sets have been moved. You can use the console STOP(P) command to terminate it and restart it later, if necessary. The STOPAFTER= operand automatically stops the MOVE after the specified period.
- For maximum performance, you should submit multiple MOVE jobs, with unique job names, each specifying a subset of your input volumes. This allows FDRMOVE to process eight input volumes concurrently per job that allows the moves to complete much faster.
Step 3: (Check Data Sets) of the Consolidate Entire Volumes without Instant Replication (MOVE) Example
Use the console STATUS command or the ISPF panel to show what jobs are holding the remaining data sets.
Step 4: (Restart Applications) of the Consolidate Entire Volumes without Instant Replication (MOVE) Example
“Bounce” the applications that are using the remaining data sets, if necessary to get them moved.
Step 5: (Verify Data Sets Copied) of the Consolidate Entire Volumes without Instant Replication (MOVE) Example
(Optional). If your intention is to empty the input volumes so that the source subsystem can be shutdown, use SIMMOVE with the VTOCEMPTY=CHECK operand and SELECT ALLDSN to verify that all data sets have been moved from the indicated volumes.
//job JOB …
//STEP5 EXEC PGM=FDRMOVE,REGION=0M,TIME=1440//STEPLIB DD DISP=SHR,DSN=fdrpas.loadlib//SYSPRINT DD SYSOUT=*//FDRSUMM DD SYSOUT=*//SYSUDUMP DD SYSOUT=*//SYSIN DD * SIMMOVE TYPE=DSF,VTOCEMPTY=CHECK SELECT ALLDSN,VOL=IN0001 SELECT ALLDSN,VOL=IN0002 SELECT ALLDSN,VOL=IN0003 … SELECT ALLDSN,VOL=IN0060/*
Step 6: (FDRPAS) of the Consolidate Entire Volumes without Instant Replication (MOVE) Example
(Optional). Run an FDRPAS non-disruptive swap if there are data sets remaining that cannot be freed.