Consolidate volumes with FDRPAS and FASTMOVE
All examples in this section are found in the JCL library installed with FDRMOVE. The member names are PA32509x.
Consolidate Entire Volumes with FDRPAS and Instant Replication Example
In this scenario, you want to consolidate entire volumes to a smaller set of larger volumes, such as 3390-9 to 3390-27. FDRPAS is used to move 1/3 of the volumes to the new devices non-disruptively. This assumes that the VTOCs on the source volumes are already large enough to hold three times the data sets after the consolidation. The target volumes are in the range 7000-70FF and are currently offline.
If you are licensed for FDRABR or FDREPORT, you can use this FDREPORT step to report on the VTOC sizes and VTOC free space on the volumes you want to move with FDRPAS. If the VTOCs are large enough already, proceed to Step1 below. If not, you may be able to expand the VTOCs with the EXPANDVTOC function of FDRPAS, before or after you SWAP the volume.
//VTOCREPT EXEC PGM=FDREPORT,REGION=0M//STEPLIB DD DISP=SHR,DSN=fdrpas.loadlib//SYSPRINT DD SYSOUT=*//ABRMAP DD SYSOUT=*//SYSUDUMP DD SYSOUT=*//SYSIN DD * XSELECT VOL=IN0* REPORT FIELD=(VLVOLSER,VLUNIT,VLDEVTYP,VLDSCB,VL%FDSCB, VLINDSTA,VLTOTVIR,VL%FINDX) PRINT DATATYPE=VOLDATA/*
Step 1: (EXPANDVTOC) of the Consolidate Entire Volumes with FDRPAS and Instant Replication Example
(Optional.) This step expands the VTOCs to 650 tracks on volumes that are swapped with FDRPAS and need larger VTOCs. You also need to submit FDRPAS MONITOR tasks for all other LPARs as documented under EXPANDVTOC. Only one offline SWAPUNIT= is needed for all volumes.
//STEP0 EXEC PGM=FDRPAS,REGION=0M//STEPLIB DD DISP=SHR,DSN=fdrpas.loadlib//SYSPRINT DD SYSOUT=*//SYSUDUMP DD SYSOUT=*//SYSIN DD * EXPANDVTOC TYPE=FULL MOUNT VOL=IN0001,SWAPUNIT=07C3,VTOCSIZE=650 MOUNT VOL=IN0002,SWAPUNIT=07C3,VTOCSIZE=650 … MOUNT VOL=IN0022,SWAPUNIT=07C3,VTOCSIZE=650/*
After the FDRPAS swaps, FASTMOVE is used to copy data sets from the remaining 2/3 of the input volumes to complete the consolidation. Offline DASD volumes in the range 7F00-7FFF are used as transit stations.
Step 2: (FDRPAS Monitor) of the Consolidate Entire Volumes with FDRPAS and Instant Replication Example
This step is the FDRPAS MONITOR task that must execute on all LPARs (it does not need to run on the LPAR where the SWAP TYPE=TRANSIT runs). It specifies the offline target DASD volumes for the FDRPAS swaps and also the offline transit station DASD volumes for FASTMOVE. The same MONITOR task can handle both types of DASD volumes so leave it running until the FASTMOVE jobs are complete. You may need a unique job name for each MONITOR task. For example,
//STEP1 EXEC PGM=FDRPAS,REGION=0M//STEPLIB DD DISP=SHR,DSN=fdrpas.loadlib//SYSPRINT DD SYSOUT=*//FDRSUMM DD SYSOUT=*//SYSUDUMP DD SYSOUT=*//SYSIN DD * MONITOR TYPE=SWAP MOUNT SWAPUNIT=70* <-- targets for FDRPAS
MOUNT SWAPUNIT=7F* <-- targets for FDRPAS TRANSIT
/*
See MONITOR SWAP Examples for other ways to start the MONITOR tasks.
Step 3: (FDRPAS SWAP) of the Consolidate Entire Volumes with FDRPAS and Instant Replication Example
This step is the FDRPAS SWAP task to non-disruptively move 1/3 of the input DASD volumes; choose the volumes with the most active data sets. If any volumes contain data sets that cannot be moved by FDRMOVE, such as catalogs, you should select those volumes. Two extra volumes are moved to handle special conditions with multi-volume data sets and very full volumes.
//STEP2 EXEC PGM=FDRPAS,REGION=0M//STEPLIB DD DISP=SHR,DSN=fdrpas.loadlib//SYSPRINT DD SYSOUT=*//FDRSUMM DD SYSOUT=*//SYSUDUMP DD SYSOUT=*//SYSIN DD * SWAP TYPE=FULL MOUNT VOL=IN0001,SWAPUNIT=7001 MOUNT VOL=IN0002,SWAPUNIT=7002 MOUNT VOL=IN0003,SWAPUNIT=7003 … MOUNT VOL=IN0021,SWAPUNIT=7021 MOUNT VOL=IN0022,SWAPUNIT=7022/*
Step 4: (SIMMOVE) of the Consolidate Entire Volumes with FDRPAS and Instant Replication Example
This step is a simulated MOVE that identifies data sets to be moved on the remaining input volumes. It also identifies any jobs currently holding the SYSDSN enqueue on those data sets, shows the minimum number of NVOLs required, and it shows the number of transit stations required. It also validates the internal FDRPAS TRANSIT job.
//STEP3 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=IN0023,NVOL=(IN0001,IN0002,…,IN0022) SELECT ALLDSN,VOL=IN0024,NVOL=(IN0001,IN0002,…,IN0022) SELECT ALLDSN,VOL=IN0025,NVOL=(IN0001,IN0002,…,IN0022) … SELECT ALLDSN,VOL=IN0059,NVOL=(IN0001,IN0002,…,IN0022) SELECT ALLDSN,VOL=IN0060,NVOL=(IN0001,IN0002,…,IN0022)/*//PASJOB DD DATA,DLM=$$//TRANSIT1 JOB (accounting info),FDRMOVE,CLASS=c,
// MSGCLASS=m <-- add any other required JOB parameters
//PASTRANS EXEC PGM=FDRPAS,REGION=0M//STEPLIB DD DISP=SHR,DSN=fdrpas.loadlib//SYSUDUMP DD SYSOUT=*//SYSPRINT DD SYSOUT=*//FDRSUMM DD SYSOUT=*//SYSIN DD * SWAP TYPE=TRANSIT MOUNT VOL=&&&&&&,SWAPUNIT=7F*$$
Repeat Step4 if necessary to fix JCL or control statement errors, NVOL= and SWAPUNIT= lists, and the rest.
Step 5: (FASTMOVE) of the Consolidate Entire Volumes with FDRPAS and Instant Replication Example
This step is the FASTMOVE job. Using the Step4 job, except changing SIMMOVE to FASTMOVE. Submit it sometime before you intend to bounce the application, to give FDRPAS time to move all the volumes into the transit stations. Note that the NVOL= list specifies the first ⅓ of the input volumes that were moved by FDRPAS.
//STEP4 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 * FASTMOVE TYPE=DSF,DISABLENEW=YES SELECT ALLDSN,VOL=IN0023,NVOL=(IN0001,IN0002,…,IN0022) SELECT ALLDSN,VOL=IN0024,NVOL=(IN0001,IN0002,…,IN0022) SELECT ALLDSN,VOL=IN0025,NVOL=(IN0001,IN0002,…,IN0022) … SELECT ALLDSN,VOL=IN0059,NVOL=(IN0001,IN0002,…,IN0022) SELECT ALLDSN,VOL=IN0060,NVOL=(IN0001,IN0002,…,IN0022)/*//PASJOB DD DATA,DLM=$$//TRANSIT1 JOB (accounting info),FDRMOVE,CLASS=c,
// MSGCLASS=m <-- add any other required JOB parameters
//PASTRANS EXEC PGM=FDRPAS,REGION=0M//STEPLIB DD DISP=SHR,DSN=fdrpas.loadlib//SYSPRINT DD SYSOUT=*//FDRSUMM DD SYSOUT=*//SYSUDUMP DD SYSOUT=*//SYSIN DD * SWAP TYPE=TRANSIT MOUNT VOL=&&&&&&,SWAPUNIT=7F*$$
The internal TRANSIT1 job is submitted by FASTMOVE after it identifies all volumes that must be moved to a transit station (if any).
As each volume reaches a transit station, FASTMOVE begins testing the selected data sets on that volume to see if they are active (enqueued). Data sets that are inactive or become inactive are quickly moved with instant replication technology.
Step 6: (Check STATUS) of the Consolidate Entire Volumes with FDRPAS and Instant Replication Example
Use the console STATUS command or the ISPF panel to monitor when the volumes are all in transit stations. In the sample display below, no volumes are awaiting transit or moving to transit and 250 volumes are in transit stations.
DATASETS: --------NUMBER OF VOLUMES-----------MOVED ACTIVE AWAITING TRANSIT MOVING TO TRANSIT IN TRANSIT STATION--------- ------- ---------------- ----------------- ------------------5282 432 0 0 250 |
The STATUS display also shows what jobs are holding any active data sets. In this example, it shows that data sets are being held by a batch job and a TSO user.
ACTIVE DATASETS FOR VOLUME SH20E0 NUMBER JOBS JOBNAMES HOLDING ENQUEUE------------------------------------- ----------- ---------------------------DB2.PAYROLL.VSH20E0.VSAM.CLUSTER 1 (PAYCHKS)USER32.PROFILE 1 (USER32) |
Step 7: (“Bounce” Applications) of the Consolidate Entire Volumes with FDRPAS and Instant Replication Example
“Bounce” applications that are holding data sets to be moved when the status shows that all volumes are in transit stations. Alternately, you can simply wait for the data sets to be freed if they are likely to be freed by batch job completions and TSO log offs.
Step 8: (Restart Applications) of the Consolidate Entire Volumes with FDRPAS and Instant Replication Example
Restart any applications you bounced. If some of the data sets were not moved, you can leave FASTMOVE running and bounce the application again later. Alternatively, you can STOP(P) the FASTMOVE job and restart it at a later time if you can.
Step 9: (Verify Moved Data Sets) of the Consolidate Entire Volumes with FDRPAS and Instant Replication 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. Do this check only on the volumes that were not moved by FDRPAS in Step3.
//STEP8 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=IN0023 SELECT ALLDSN,VOL=IN0024 SELECT ALLDSN,VOL=IN0025 … SELECT ALLDSN,VOL=IN0059 SELECT ALLDSN,VOL=IN0060/*