DSF Processing Options, Performance and Requirements
DSF operations
The first control statement in the DSF input must be a DUMP, PRINT, or RESTORE statement identifying the operation. It is followed by one or more SELECT statements identifying the actual data sets (or absolute track extents) to be processed. EXCLUDE statements are optionally used to exclude a subset of the selected data sets, for example, all data sets starting with “A” except those starting with “AB”.
DSF accepts up to 250 SELECT and EXCLUDE statements in a single execution, unless that limit is overridden. Since one SELECT statement can select many data sets, DSF can process any number of data sets in one execution.
DSF backup options
A DUMP statement, with various operands to specify backup options, invokes a DSF backup. One or more SELECT statements follow it, identifying data to backup using one of four formats:
- Data Set Name – Dump data sets by identified by the DSN= operand, which can be a fully-qualified name, a data set name prefix, or a selection mask. The volumes identified by DISKx DD statements are scanned for data sets and clusters matching the SELECT statements.
- Data Definition Name (ddname) – Dump the data set specified on the DD Statement named by the DD= parameter.
- Dump All Data Sets – Dump all data sets on the DASD volumes specified by DISKx DD statements, using the ALLDSN operand.
- Absolute Track Address – Dump the tracks within the bounds specified by the FROM= and TO= address operands.
DSF backs up all selected data sets or tracks from all DASD volumes specified by the DISKx DD statements to the tapes identified by corresponding TAPEx DD statements, in the order that the DISKx DD statements appear in the JCL.
DSF also supports the ATTACH and MAXTASKS= operands, which concurrently dumps the DASD volumes referred to by the DISKx DD statements to the tapes referred to by the corresponding TAPEx DD statements. Although there may be up to 39 TAPEx and DISKx statement pairs, the TAPEx DD statements must not specify more than 9 unique tape units. The TAPEx DD statements may include UNIT=AFF or VOL=REF to use the same drive for multiple backups or to place multiple backup files on the same tape volume; the number of unique units determines the number of concurrent DUMPs. FDRserializes the backup of any DASD volumes whose TAPEx DD statements point to the same tape unit.
DSF print options
A PRINT statement invokes a DSF track print. It is followed by one of more SELECT statements identifying the data to be printed, using the same formats used for backup above. DSF prints the selected data from each volume identified by the DISKx DD statements to the output data sets identified by the corresponding TAPEx DD statements.
DSF restore options
A RESTORE statement, with various operands to specify global restore options, invokes a DSF restore. One or more SELECT statements, identifying data to restore using one of five formats, follow it:
- Data Set Name – Restore the data sets or clusters specified by the DSN= operand to the data sets with their original names. DSN= can specify a fully-qualified name, a data set name prefix, or a data set name selection mask.
- Data Set Name/Newname – Restore the data sets or clusters specified by the DSN= operand to new data set names, identified by the NEWNAME=, NEWGROUP=, or NEWINDEX= operands.
- Data Definition Name (ddname) – restore the data set specified on the DD statement named by the DD= operand to the data set of the same name.
- Data Definition Name (ddname)/Newname – Restore the data set specified on the DD statement named by the DD= operand to the data set named by the NEWNAME=, NEWGROUP=, or NEWINDEX= operand.
- Absolute Track Address – Restore the tracks within the bounds specified by the FROM= and TO= address operands.
If multiple restores are requested (multiple TAPEx DD statements), the restores are done serially in the order that the TAPEx DD statements appear in the JCL. DSF searches each backup data set identified by TAPEx DD statements for the data sets identified and restores them. You can supply DISKx DD statements to identify the target volume for data sets restored from the equivalent TAPEx DD statements, or you can identify the target volumes via operands on the SELECT statements. Data tracks backed up by absolute track (FROM/TO) can only be restored by absolute track and must be restored to their original track addresses.
Memory requirements
The DSF DUMP basic memory requirement is identical to FDR's Memory requirement (see Memory requirement section in FDR-Processing-Options-and-Requirements). However, the region may need to be increased if you have more than 250 control statements or more than 600 VSAM or SMS-managed data sets on a volume to be dumped.
DSF RESTORE processing requires a below-the-line region of 512K plus about 512 bytes for each data set or track range to be processed. VSAM clusters may add an additional 1K bytes per component processed.
Some logical RESTORE operations may require additional memory, so a region of 1024K or more is recommended. Specify REGION=0M to get the largest possible region. DSF only uses the storage it needs regardless of the REGION size.
DSF error detection
If any of the selected data sets are not found on any input DASD (dump) or backup (restore) or have errors (such as I/O errors), DSF continues the dump or restore operation for the remainder of the data sets. An error message identifies the failing data set and a U0888 abend is issued for the step at completion to call attention to the error.
Compress option
FDRDSF can be instructed to compress the data on the sequential backup file using BMC's own proprietary software compression algorithm. It is not recommended for backups to tape attached by ESCON or FICON channels because of the speed of the channel; the hardware compression of the tape drive achieves similar results without any CPU overhead.
Duplicate tape option
DSF has an option to create a duplicate or second copy of the backup tape during dump processing. When several volumes are dumped, duplicate backup files may be made for one or more of the DASD volumes regardless of the others.
While dumping a DASD volume to a TAPEx DD statement, the duplicate backup is written to the TAPExx DD statement (same “x” value twice) if it is present. You may have TAPExx DD statements for some TAPEx DD statements and not for others in the same step.
Memory requirements do not increase with the use of the duplicate tape option.
E-mail notification
FDRhas the ability to send e-mail messages indicating the failure (or optionally the success) of FDRoperations. This is invoked by the presence of the FDREMAIL DD statement in the FDRstep, pointing to e-mail specification statements. E-mails may also be sent to text-enabled pagers and cell phones. E-mail statements and the instructions for enabling FDRe-mail are in FDR-E-mail-notification-facility.
Security
Complete details on the security options of the FDRsystem are found in Security-Options.
For DSF, ALLCALL results in these security checks:
- For data set backups and prints, DSF always checks to see if your user ID has at least READ authority to the entire input volume; under IBM RACF this means that you are authorized to the input volume serial under the DASDVOL security class (other security systems have similar ways of defining volume authority). If you do have this volume authority, no additional checks are done on that input volume. If you do not have volume authority, then DSF checks if you have at least READ authority under the DATASET security class to every data set being backed up or printed. Any data sets to which you are not authorized are bypassed with an error message.
- For data set restores, DSF checks if you have at least UPDATE authority under the DATASET security class to every data set restored. Any data sets to which you are not authorized are bypassed with an error message. If an output data set must be allocated, the operating system checks if you have CREATE/ALLOCATE authority for the data set (this is done even if ALLCALL is not in effect).
Data set enqueue option
You can request, via the DSNENQ= operand, that each data set being dumped or restored be tested to see if it is in use. A data set is considered in use if any job or TSO user has a DD statement or dynamic allocation for that data set name.
In-use data sets are tested by doing an exclusive enqueue with a major name of SYSDSN and a minor name of the data set name itself, for each selected data set found in the VTOC of the input DASD volume; this resource is enqueued by any other task allocating the data set so our enqueue fails if it is in use.
If you have requested data set enqueues, any data set that is in use causes an FDR158 warning message to be printed; this sets the job error flag and causes a U0888 abend when the step is complete (see Step Termination section). If you do not want in-use data sets to be considered an error, specify the ENQERR=NO operand; this prints the FDR158 message without setting the error flag.
Optionally you can request that inactive data sets be enqueued to DSF during the backup, to insure that no other job or TSO user can access the data set until the backup is done.
For backups, in-use data sets are still dumped by default, but you must be aware that the backups of data sets which are being updated during the backup may be unusable, depending on the nature and format of the data. If you wish to bypass the backup of active data sets, specify the ENQERR=BYPASS operand.
For restores, DSF attempts to enqueue any data sets that it allocates on the output DASD volumes, to insure that no other task tries to use them until the restore is complete, but if the enqueue fails, the data set is still restored. However, for existing data sets, if the enqueue fails, the restore is bypassed.
The DSNENQ= operand has four possible values:
USE
Data sets are enqueued for the duration of the backup from this DASD volume or restore from this backup data set. For data sets that are active, an FDR158 warning message is issued and the data set is not enqueued. This is the most frequently used option.
TEST
Data sets are only tested to see if they are enqueued to another task at the time that the backup from this volume or restore from this backup data set starts. For data sets that are active, an FDR158 warning message is issued. The data set is not enqueued and other tasks may enqueue it and possibly update it while the operation is proceeding.
HAVE
The data sets are enqueued for the duration of the backup or restore. If a data set is in use, the z/OS operator must interact with FDR to decide how to proceed; a message FDRW27 is issued to the z/OS console, and the operator can respond:
WAIT
Wait for the data set to become available; if it is not eventually dequeued, the FDR job may time out, so the operator must know which data sets are in use by long-running jobs or tasks.
NOWAIT
Do not enqueue the data set. The FDR158 warning message is issued.
RETRY
Try the enqueue again. If it fails again, the FDRW27 message is reissued.
NONE
No data set enqueue is issued. This is the default.
Use DSNENQ= to prevent other tasks from updating (or reading) data sets being dumped or restored. Member ENQ in the FDR Installation FDRSAMP has more information on data set enqueues.
If HFS=QUIESCE or ZFS=QUIESCE is specified, special backup processing is done for Hierarchical File System (HFS) and zSeries File System (zFS) data sets, used by UNIX System Services (USS). If the SYSDSN enqueue cannot be acquired, this may mean that the file system is mounted to UNIX, so FDRDSF attempts to quiesce the file system during the backup. Details on the quiesce function are found in Hierarchical File System (HFS) and ZSeries File System (zFS) sections in FDR-Processing-by-Type-of-Data-Set.
If you use CA MII (Multi-Image Integrity component of CA MIM) for enqueue processing, prior to release 11.6, see member FDRCONXT in the FDR Installation FDRSAMP for instructions on suppressing unnecessary MIM conflict messages due to FDRSYSDSN enqueues.
VTOC enqueue option
FDR also supports, via the ENQ= operand, an enqueue on the VTOC of every volume being dumped, restored, or copied. For shared DASD, it can also invoke a hardware RESERVE on the volume during the FDR operation.
The VTOC is protected by an enqueue with major name SYSVTOC and a minor name of the volume serial. This enqueue is held by any task doing updates to the VTOC, including allocation of new data sets, extension of data sets to new extents, and scratching of existing data sets. This enqueue is normally of short duration, just for the few seconds necessary to update the VTOC, so if the enqueue is currently held by another task, FDR waits for it to be released.
The SYSVTOC enqueue does not prevent access to existing data sets on the volume; it only insures that no other task is updating the VTOC while FDR is processing it. VTOC changes during a backup or copy could result in an invalid backup.
For DASD shared with another z/OS system or LPAR, ENQ=RESERVE requests that, in addition to the enqueue described above, a hardware RESERVE is done on the volume. RESERVE prevents any system from reading or writing data on the volume, except for the system that FDR is running on, where only the enqueue protection applies. If you have a cross-CPU enqueue facility, such as GRS or MIM, you may be able to convert the RESERVE into a cross-CPU SYSVTOC enqueue and allow access to the volume during the operation (lookup SYSVTOC in the documentation for your product).
Use ENQ= to prevent other tasks from making changes to the VTOC during the backup or restore. Since DSF operates on individual data sets, there is usually no need to enqueue the VTOC as long as DSNENQ= (above) is specified. Member ENQ in the FDR Installation FDRSAMP has more information on VTOC enqueues.
Step termination
If no errors occur during the execution of DSF, the DSF job step ends with condition code 0 (zero).
If errors do occur, they are generally indicated by an error message; occasionally they are indicated only by a user abend (Uxxxx). Depending on the nature of the error, the step may end one of several ways:
- Some errors are critical. The job step ends immediately with a user abend (Uxxxx).
- Some errors are critical only to a particular operation. For example, during a backup, some errors cause the backup of a particular DASD volume to terminate immediately, but DSF may continue and attempt to backup other DASD volumes requested in the same step.
- Some errors are non-critical and the messages are warnings only. DSF completes the current operation.
For the last two conditions above, a flag is set indicating that a non-terminating error occurred. At step termination, it tests the flag; if it is on, the step will terminate with a U0888 abend to call your attention to the errors. Remember that a U0888 indicates that some or all of the functions you requested did complete but you must examine the error messages to determine the impact of the errors.
If you prefer not to get a U0888 abend on a non-terminating error, the FDRCC option in the FDR Global Options can change it to a non-zero return code of your choice (see General-Options).