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:

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.

Warning

If directing any SYSOUT data (SYSPRINT, SYSPRINx, FDRSUMM, and so on) to DASD, ensure that the DASD volume being written to is not a DASD volume being dumped by the same step, otherwise, the SYSVTOC enqueue can cause a lockout if an update to the VTOC is needed.

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.

Warning

If you omit SYSIN or omit the DISP= parameter for a DASD data set, (which assumes NEW), 

FDR

 uses only the PARM= option to define the operation to be performed. If that is also omitted, it assumes D (DUMP); this may result in a backup being taken when you intended a restore, overlaying the backups you wanted to restore. There is an option in 

FDR

 Global Options (on ISPF panel A.I.4.2) that causes 

FDR

 to fail if SYSIN is ignored. We strongly recommend that you enable this option (change FDRSTMT to “YES”) in ISPF panel A.I.4.2 (see General-Options).

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.

//ABNLDUMP DD DUMMY   Print normal IBM dump in addition to the Abend-AID Report
//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:

//TAPE1 DD DSN=PROD.MVS001.BACKUP1,UNIT=TAPE,DISP=(,CATLG)
//TAPE2 DD DSN=PROD.MVS002.BACKUP2,UNIT=SYSALLDA,VOL=SER=BKUP01,
//         SPACE=(CYL,(100,50),RLSE),DISP=(,CATLG)


Important

For tape backups, UNIT=AFF or VOL=REF may be specified, referencing another TAPEx DD statement, to reduce the number of tape drives used in the step. UNIT=AFF=TAPEx causes z/OS to allocate the same tape drive for both DD statements, but calls for separate output tapes when each DD statement is opened. VOL=REF=*.TAPEx with LABEL=n can be used to stack multiple backup files on the same tape, providing more complete utilization of the tape volumes (especially important for high-capacity tapes). 

FDR

 automatically recognizes that multiple TAPEx DD statements point to the same tape drive and serializes operations on that drive so that only one backup is directed to that drive at a time.

Examples:

//* The following creates two backups on two different
//* 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:

//TAPE1    DD DSN=TECH.BACKUP1,DISP=(,CATLG),
//            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:

//DISK1   DD UNIT=SYSALLDA,VOL=SER=SH20CC,DISP=OLD
//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:

//TAPE1   DD DSN=PROD.BACKUP1,DISP=OLD


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:

//* The following mounts 3 backups on the same tape drive.
//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.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*