FDR JCL Requirements
To execute FDR, the following JCL statements are required.
STEPLIB or JOBLIB DD statement
Specifies the program library where FDR resides (if FDR is not in the system link list (LNKLST)). The library must be APF authorized.
EXEC statement
Specifies the program name (PGM=FDR), region requirement (REGION=, see Memory Requirements), and optional PARM= operand. The PARM= options are a shortcut way of specifying the FDR operation to be performed; PARM= values are:
- PARM=D - Process as if the statement DUMP TYPE=FDRwas specified.
- PARM=A - Process as if the statement DUMP TYPE=FDR,ATTACH was specified.
- PARM=R - Process as if the statement RESTORE TYPE=FDR,CPYVOLID=YES was specified.
- PARM=N - Process as if the statement RESTORE TYPE=FDR,CPYVOLID=NO was specified.
- No PARM - Process as specified by the DUMP, RESTORE, or COPY command in the SYSIN data set. If there is no PARM field and no SYSIN data set, FDRacts as if PARM=D was specified; however, there is an option in FDR Global Options to cause a failure if no PARM and no SYSIN are present, to avoid unintentional backups
The parameter (PARM) field may also contain an FDR DUMP, RESTORE, or COPY statement, for example, PARM='DUMP TYPE=FDR,DSNENQ=USE'.
If FDR is invoked from another program, you can pass control statements using IBM's convention for passing data from the PARM field; contact BMC Support for assistance if you wish to do this.
DISKx DD statement
For DUMP or COPY, specifies the input DASD volume. For RESTORE, specifies the DASD volume whose contents are replaced. The format is:
//DISK1 DD UNIT=unit,VOL=SER=vol,DISP=OLD
unit
is either a generic name, such as 3390, or an esoteric name assigned during your I/O configuration, such as DISK or SYSALLDA, and “vol” is the volume serial number of the DASD volume. Only a single volume serial number may be specified. You may use either DISP=OLD or DISP=SHR; it makes no difference.
x
may be any single alphanumeric (A-Z, 0-9) or national (@, #, and $ in the US) character and must have a corresponding TAPEx statement, so there can be a maximum of 39 DISKx DD statements. Processing proceeds for as many pairs of DISKx/TAPEx statements as are present, in the order that the DISKx DD statements appear in the FDR JCL. If DUMMY is specified, this DD statement is ignored.
For FDRINSTANT
If you are also licensed for FDRINSTANT, you can direct FDR to backup an offline point-in-time image of the volume to be backed up. This may require special options on a DISKx DD statement. FDRINSTANT is described in:
- Working-with-FDRINSTANT-for-Dell-EMC-TimeFinder
- Working-with-FDRINSTANT-for-Hitachi-ShadowImage
- Working-with-FDRINSTANT-for-FlashCopy
with separate chapters for each hardware platform on which FDRINSTANT is supported.
FDREMAIL DD statement
Specifies input control statements for the FDR e-mail facility. If present, e-mail messages can be sent for unsuccessful or successful FDR operations. See FDR-E-mail-notification-facility for requirements and details.
FDRSUMM DD statement
(Optional) If present, FDR writes one-line messages for each volume dumped or restored, giving result codes, elapsed time, and byte counts. FDRSUMM is usually a SYSOUT data set. For backups, FDRSUMM is used only if RTC=YES is specified on the DUMP statement.
SYSPRINT DD statement
Specifies the output message data set. It must be present and is usually a SYSOUT data set but it may be assigned to DASD or tape. DCB characteristics are RECFM=FBA and LRECL=121; the block size defaults to 1210 on DASD or tape.
SYSPRINx DD statement
Specifies the output data set for messages related to the matching DISKx when the ATTACH option, MAXTASKS= option or COPY statement is used (see SYSPRINT DD Statement for details). It is usually a SYSOUT data set but if is it assigned to a data set on tape or DASD, this DD statement must specify DISP=MOD.
SYSIN DD statement
Optional control statement data set. Usually an input stream or DD * data set. If the SYSIN DD statement is allocated with a disposition of NEW, FDR ignores this data set, so the data set must either be an input stream data set or an existing DASD data set. If the control statement was provided in the EXEC PARM=, it can be DUMMY.
SYSUDUMP DD statement
Specifies the abend dump data set. Usually specifies a SYSOUT data set. Although not required, we strongly urge you to always include this DD statement, so that we can help you diagnose error conditions. If you have a debugging aid product on your system that would prevent the desired dump, please add the appropriate one of these statements to the JCL so that a fully-formatted dump is produced.
//CAOESTOP DD DUMMY Turn off CA OPT II & CA SYSMDUMP
//DMBENAN DD DUMMY Turn off DumpMaster
//ESPYIBM DD DUMMY Turn off Eye-Spy
//IDIOFF DD DUMMY Turn off IBM Fault Analyzer
TAPEx DD statement
Used to specify the output data set for DUMP, the input data set for RESTORE and the output DASD volume for COPY. “x” may be any single alphanumeric or national character. Multiple TAPEx DD statements may be present in the FDR step JCL; a unique value for “x” must be used for each of them (for example, TAPE1, TAPE2). There must be a TAPEx for each DISKx; if you code one or the other, not both, it is ignored.
For DUMP operations
Specifies a tape or DASD data set to which the backup is written. The TAPEx DD statement receives the backup of the volume specified by DISKx. If PARM=A, ATTACH or MAXTASKS=n is specified, FDR attempts to attach concurrent backup subtasks, but may postpone some of them if it detects that they require a tape drive in use by another backup (see the "Note" on UNIT=AFF and VOL=REF below). Up to 39 TAPEx DD statements may be present but they must not point to more than 9 unique tape units.
DUMMY is supported, for testing purposes only. The DASD volume is read, but the backup data is discarded.
You must provide all the JCL parameters required to allocate and catalog the backup data set on DASD or tape, which may include some or all of: DSN=, UNIT=, VOL=, SPACE=, and DISP=(NEW,CATLG). For tape, a volume count may need to be specified since the default is only 5 tape volumes, for example, VOL=(,,,255).
DCB parameters are not required and should be omitted.
Examples:
//TAPE2 DD DSN=PROD.MVS002.BACKUP2,UNIT=SYSALLDA,VOL=SER=BKUP01,
// SPACE=(CYL,(100,50),RLSE),DISP=(,CATLG)
Examples:
//* tape volumes using the same tape drive.
//TAPE1 DD DSN=PROD.MVS001.BACKUP1,UNIT=TAPE,DISP=(,CATLG)
//TAPE2 DD DSN=PROD.MVS002.BACKUP2,UNIT=AFF=TAPE1,DISP=(,CATLG)
//* The following creates a multi-file (and possibly
//* multi-volume) tape containing 3 backups.
//TAPE3 DD DSN=PROD.MVS003.BACKUP3,UNIT=TAPE,
// VOL=(,RETAIN,,255),DISP=(NEW,CATLG)
//TAPE4 DD DSN=PROD.MVS004.BACKUP4,LABEL=2,
// VOL=(,RETAIN,REF=*.TAPE3),DISP=(NEW,CATLG)
//TAPE5 DD DSN=PROD.MVS005.BACKUP5,LABEL=3,
// VOL=(,RETAIN,REF=*.TAPE4),DISP=(NEW,CATLG)
Your tape management software may require that you add an operand to the TAPEx DD statement to specify when the tape is returned to the scratch pool. The operands are:
RETPD=nnnn
retain tape for “nnnn” days.
EXPDT= yyyy/ddd
retain tape until Julian date yyyy.ddd.
Certain expiration date values are treated as keywords by some tape management systems, for example, EXPDT=99000 may indicate “expire when the backup data set is no longer cataloged”. For more information, see ABR and Tape Management Systems.
Backups can also be written to a sequential data set on DASD. If the backup file is on DASD:
- It can be in large format. Either specify DSNTYPE=LARGE, or specify DATACLAS= a data class with large format, or have the ACS routine assign such a data class.
- It can be located in cylinder-managed space on an Extended Address Volume (EAV). Either specify EATTR=OPT, or specify DATACLAS= a data class with EATTR=OPT, or have the ACS routine assign such a data class.
- It can be SMS-managed. Either specify STORCLAS= or have the ACS routine assign a storage class.
For example:
// VOL=SER=TECH01,UNIT=SYSALLDA,
// EATTR=OPT,SPACE=(CYL,(30000,30000),RLSE)
Although the backup usually takes less space than the original data being backed up, this can vary, so be sure to specify a secondary allocation quantity and the RLSE parameter to release unused cylinders.
For DUMP operations to cloud storage
For Transparent Cloud Tiering (TCT), TAPEx points to a disk data set to be used as a backup control file. All of the DISKx DD statements in this jobstep must specify volumes in a single DASD control unit (or in other control units that are connected to the same cloud and are able to access the same containers), and the backup control files must also be allocated in that DASD control unit (or in other control units that are connected to the same cloud and are able to access the same containers). It is preferable for the backup control file not to be allocated on the volume being backed up using that control file, since that would result in an extra copy of the backup control file being backed up to the cloud.
The actual backup is written to the cloud, but the backup control file contains information that is needed in order to do the restore. The cloud name and container name are recorded in the backup control file, and do not need to be specified at restore time. The backup control file only needs to be a few tracks, unless a large number of data sets are being backed up. The backup control file cannot be multi-volume, but it can have multiple extents. We recommend starting with SPACE=(TRK,(15,15),RLSE), and increasing the allocation for backups that run out of space. The backup control file can be SMS-managed. It is desirable that the backup control file remain on disk for as long as the backup is retained. However, the backup control file is also backed up to the cloud; if it is deleted from disk, then it can be restored from the cloud in order to be able to restore the data sets in the backup. Details are in Restoring-a-TCT-Backup-Control-File-From-the-Cloud. We recommend making the backup control file a GDG, so that MVS will delete old generations automatically when they are no longer needed. The backups in the cloud can then be cleaned up by FDRTCTUT with the DELETEBACKUPS command, as shown in FDRTCTUT-FDR-Transparent-Cloud-Tiering-Batch-Utility.
Example showing TAPEx definition to create the backup control file:
//TAPE1 DD UNIT=SYSALLDA,
// VOL=SER=SH20CF, <= POINT TO A VOLUME OTHER THAN DISK1
// DSN=PROD.BACKUP.VSH20CC(+1),
// DISP=(NEW,CATLG),
// SPACE=(TRK,(15,15),RLSE)
For RESTORE operations
Specifies a backup data set on tape or DASD from which the data is to be restored. The backup must be a full-volume backup created by FDR, ABR, or SAR. You may include multiple TAPEx DD statements in order to restore multiple volumes. The backup is restored to the corresponding DISKx DD statement.
Example:
If you are restoring multiple backups from the same tape volume, you should code DISP=(OLD,PASS) to prevent the tape from rewinding between restores.
If multiple TAPEx DD statements are provided, z/OS allocates a separate tape unit for each DD statement (except for DD statements that point to different files on the same tape volume serial number). If you are using the default of MAXTASKS=1, FDR restores those backups serially (one at a time) so it unnecessarily ties up the tape units until all restores are done. This can be minimized by using UNIT=AFF to mount all the backups on a single tape unit.
Examples:
//TAPE1 DD DSN=PROD.MVS001.BACKUP1,DISP=OLD
//TAPE2 DD DSN=PROD.MVS002.BACKUP1,UNIT=AFF=TAPE1,DISP=OLD
//TAPE3 DD DSN=PROD.MVS003.BACKUP1,UNIT=AFF=TAPE1,DISP=OLD
Even if you specify MAXTASKS=, FDR automatically recognizes that multiple TAPEx DD statements point to the same tape drive and serializes operations on that drive so that only one restore is executed on that drive at a time.
For RESTORE Operations from Cloud Storage
The TAPEx DD statement points to the backup control file that was created during the backup.
For COPY operations
Specifies the output DASD volume and unit using the same format used for DISKx.
Example:
//TAPE1 DD UNIT=unit,VOL=SER=vol,DISP=OLD
TAPExx DD statement
Specifies a second backup data set, using the same format documented for TAPEx (DUMP operation) above. A backup identical to TAPEx is produced on TAPExx; the same data blocks are written to both simultaneously (except that if COMPRESS=COPY1/COPY2 or ENCRYPT=COPY1/COPY2 is specified, then the two copies are different as requested). For example, if DISK6 is being dumped to TAPE6, the inclusion of a TAPE66 DD statement causes a second backup file to be produced.
On COPY operations, this is the only sequential backup of the DISKx volume (since TAPEx defines the output DASD volume).
TAPExx is optional; if omitted, no duplicate backup is created; for COPY, no backup is created at all. If TAPExx is specified as DD DUMMY, the result is the same as if TAPExx were omitted.
TAPExx must be omitted for backups to cloud storage.