FDRCOPY COPY and MOVE Statements


COPY and MOVE statement syntax

COPY|MOVE






,DATA=ALL|USED


,DSNENQ=HAVE|NONE|TEST|USE




,ENQERR=BYPASS|PROCESS



,FCOPY=(USE,REL)|FCOPY=NO|SNAP=(USE,REL)



,ICFCAT=ALIAS|ORIGINAL


,ICFCORE=nnnnnn


,MAXCARDS=250|nnnnn


,MAXERR=20|nnnn





,REMOTEINSTANT=PREFERRED|REQUIRED



,SELTERR=NO|YES


,SMSGDG=ACTIVE|DEFERRED|INPUT|ROLLEDOFF


,TTIME=xxxx|++-TTIME


COPY statement

The COPY statement specifies that FDRCOPY is to perform a copy operation, creating a duplicate of the selected input data sets. The original data sets will not be modified in any way. However, if the RECAT operand is specified and the output data set is not being given a new name, the catalog is updated to point to the data set on the output volume serial, leaving the input data set uncataloged. VSAM data sets can be copied only if a new output data set name is specified.

MOVE statement

The MOVE statement specifies that FDRCOPY is to perform a move operation, moving the selected input data sets to a new DASD volume. For each successfully moved data set, the input data set is deleted and uncataloged, and the catalog is updated to point to the output data set. Moves usually use the same data set name for output, making them a true move. However, you can specify a new output data set name; at the end of the move, the input data set is still deleted and only the renamed output data set is left.

COPY and MOVE statement operands

TYPE=DSF

Specifies that a data set copy or move is to be performed. It is required.

BLKF=

Changes the block size of certain RECFM=FB and VB data sets. BLKF= specifies the number of blocks per track (1 to 10) and calculates a new block size based on the output track size.

DSORG=PS (sequential) data sets are physically reblocked during the copy. DSORG=PO (partitioned) data sets use the new block size for new members. Other data set types are not reblocked.

Default: Data sets are not reblocked.

BYPASSACS

The SMS Automatic Class Selection (ACS) routines are not to be invoked for data sets that must be allocated. If a data set has a SMS storage class assigned (see STORCLAS=) it is SMS-managed, and SMS is invoked to allocate the data set on an SMS chosen volume, but SMS is not allowed to override the storage class or management class assigned to the data set.

Default: The SMS Automatic Class Selection (ACS) routines are invoked for every data set that has to be allocated. A data set is passed to SMS for allocation if the Storage Class ACS routine assigns a storage class to the data set.

BYPASSSMS

SMS-managed data sets are directly allocated on SMS-managed volumes, bypassing normal SMS storage group and volume selection. The selected output volume must be a SMS-managed DASD volume, and the data sets being copied must have a SMS storage class assigned (see BYPASSACS and STORCLAS=).

Normal SMS facilities do not allow allocation of data sets on specific volume serials, but BYPASSSMS does, allowing data sets to be located for performance or other reasons.

Important

If BYPASSACS is also specified, the assigned SMS classes is not validity- or authority-checked.

Default: For data sets that have a storage class and must be allocated, the SMS storage group Automatic Class Selection (ACS) routine is invoked to select a storage group and SMS selects a SMS-managed volume and allocates and catalogs the data sets.

Note

BYPASSACS and BYPASSSMS are primarily for use by storage administration personnel, since they bypass normal SMS allocation controls and rules. In order to use BYPASSACS or BYPASSSMS, the user of FDRCOPY must be authorized to the IBM RACF profile STGADMIN.ADR.COPY.BYPASSACS in class FACILITY, or the equivalent in other security systems.

CATIFALLOC

Non-VSAM output data sets are cataloged even if they are preallocated (not allocated by the copy), subject to the NOCAT and RECAT operands (see Cataloging Non-VSAM Output Data Sets).

Default: Output data sets are cataloged only when FDRCOPY allocates them.

DATA=

ALL

All allocated tracks of all data sets are copied. You may need to specify DATA=ALL if the data sets to be copied include JES2 spool/CHKPT data sets or CICS sequential journal data sets.

USED

Only the used portion of Physical Sequential (PS) and PO (partitioned, PDS) data sets are copied. On most volumes, this makes the copy run faster.

Default: DATA=USED.

DSNENQ=

Specifies whether a SYSDSN enqueue should be issued for each of the input and output data sets selected for COPY/MOVE. See Data Set Enqueue Option for more details.

The options for DSNENQ= are:

HAVE

Enqueue the data sets. If an enqueue fails, ask the operator what to do.

NONE

No data set enqueue is issued.

TEST

Do not enqueue the data sets, but test to see if they are enqueued to another task.

USE

Enqueue the data sets. This is the most frequently used option and is the default for FDRCOPY.

Default: DSNENQ=USE.

Warning

A MOVE deletes the input data set even if the data set name is enqueued. If you specify DSNENQ=NONE or ENQERR=PROCESS it is possible to move and delete a data set that is in use. You should not use these options on a MOVE unless you know you are moving a copy of a data set that is really in use on another volume.

Tip

Use DSNENQ=USE (the default) or HAVE if you want to prevent other tasks from using the data sets until the copy/move is complete. However, use DSNENQ=NONE when another data set by the same name on another volume may be in use (for example, copying data sets to an alternate SYSRES volume). You may suppress enqueues for specific data sets by the DSNENQ=NONE operand on SELECT statements.

EATTR=OPT

Allows FDRCOPY to allocate non-VSAM data sets in cylinder-managed space on Extended Address Volumes (EAVs), unless the DSCB for the data set specifies EATTR=NO. (VSAM data sets are eligible by default to be allocated in cylinder-managed space, and are not affected by this operand.) See Extended-Address-Volumes-EAVs for additional information on how data sets are allocated on Extended Address Volumes (EAVs).

EMSG=OK

E-mail notifications are sent from successful FDR operations as well as failures. Used when the FDR e-mail notification facility has been invoked by including an FDREMAIL DD statement in the FDR execution JCL.

Default: E-mail notifications are sent only for FDR failures.

ENQERR=

Specifies processing if the DSNENQ= option finds that an input data set is in use (enqueued):

BYPASS

Do not copy an active data set.

Important

A data set in use is not considered an error and does not cause a condition code or abend at step termination.

PROCESS

Copy a data set even if it is active (a warning message is still produced).

Default: BYPASS.

Important

Both ENQERR=NO and ENQERR=BYPASS/PROCESS may be specified on the same statement.

ENQERR=NO

If the DSNENQ= operand is used to request data set enqueues, an enqueue failure (in-use data set) is not considered an error (see Step Termination). Use ENQERR=NO if you want messages about active data sets but want the step to terminate normally.

Default: A DSNENQ failure is considered an error and causes a condition code or abend at step termination. This is to call attention to the error.

FCOPY=

(USE,REL)

Used only when you are licensed for FDRINSTANT and only if you have previously used program FDRFLASH or FDRABR (with the FCOPY statement) to create an instant point-in-time image of a volume in a DASD subsystem with the FlashCopy feature. It causes FDR to copy files from the point-in-time image instead of the online DASD volume. For more information, see FDRINSTANT-for-FlashCopy.

NO

Force the use of normal read/write on the COPY or MOVE when FDRCOPY detects that the input and output volumes associated with a data set are in the same subsystem with the FlashCopy V2 feature installed. For more information, see Overview-of-FDRINSTANT.

HFS=QUIESCE

ZFS=QUIESCE

Invokes special processing when Hierarchical File System (HFS) and zSeries File System (zFS) data sets are copied. HFS=QUIESCE and ZFS=QUIESCE imply DSNENQ=USE so it first attempts to get a SYSDSN enqueue on the file. If the enqueue fails, it probably means that the file system is mounted to UNIX System Services (USS), so a “quiesce” call is issued to prevent updates to the data set during the copy. If the quiesce fails and ENQERR=BYPASS was specified, the HFS or zFS data set is not copied. See Hierarchical File System (HFS) for details and security requirements.

Default: HFS and zFS data sets are not quiesced unless HFSQUIESCE is set to “YES” in the FDR Global Options (see General-Options). If you use the default, you should unmount the file system before the backup to be sure of getting a usable backup.

Important

HFS=QUIESCE and ZFS=QUIESCE imply DSNENQ=USE (see DSNENQ=) for all data sets being backed up, not just HFS and zFS data sets. HFS=QUIESCE and ZFS=QUIESCE do not apply when moving HFS and zFS data sets; they must be dismounted before the MOVE.

ICFCAT=

Applies to VSAM files only. Specifies the source of the catalog name to be used if an output VSAM cluster must be allocated.

ALIAS

Determine the catalog from the alias name in the master catalog. Multi-Level Alias (MLA) is supported.

ORIGINAL

Use the catalog in which the input cluster is cataloged.

Default: ICFCAT=ORIGINAL, except that if the cluster is being copied or moved to a new name (NEWGROUP= or NEWINDEX= specified) the default is ICFCAT=ALIAS. If the output cluster is SMS-managed, ICFCAT=ALIAS is forced.

ICFCORE=

nnnnnnn

Specifies the size, in bytes, of the table used to the store the VSAM cluster and component names while matching them with VTOC DSCBs. Specifying ICFCORE= increases the region requirement by the value specified. The default is large enough for most volumes.

MAXCARDS=

nnnnn

Accept additional SELECT and EXCLUDE statements (over 250).

Default: MAXCARDS=250.

MAXERR=

nnnn

Specifies the number of tape or DASD errors (1 to 9999) that, if reached, cause the operation to abend. Errors on the input and output DASD volumes are counted separately, but MAXERR= specifies the maximum for each counter. Each error is indicated by a message and possible mini-dump.

Default: 20.

MAXTASKS=

n

The maximum number of input DASD volumes that are processed concurrently (1 to 5). If MAXTASKS= is greater than one, then SYSPRINx DD statements are dynamically allocated to SYSOUT to receive messages from the FDRCOPY sub-tasks, unless they are included in the step JCL. The subtask messages are also repeated on SYSPRINT when each sub-task ends.

MAXTASKS= greater than one requires that data sets be selected by CATDSN= on SELECT statements. This allows FDRCOPY to properly manage enqueues for multi-volume data sets. CATDSN= must be used unless you are certain that no multi-volume data sets are involved.

Default: MAXTASKS=1 (one input volume is processed at a time).

NOCAT

RECAT

NOCAT

Specifies that output data sets are not cataloged. This option is ignored for VSAM clusters and SMS-managed data sets, since these must always be cataloged.

RECAT

Specifies that non-VSAM output data sets are cataloged even if they are currently cataloged to another volume. If a data set by that name actually exists on the volume to which it is currently cataloged, and it is SMS-managed, it is deleted; otherwise, it becomes an uncataloged data set.

Default: For a COPY operation, catalog output non-VSAM data sets unless they are currently cataloged (even if to the input volume). For a MOVE operation, catalog output non-VSAM data sets unless they are currently cataloged to a volume other than the input. For more information, see Cataloging Non-VSAM Output Data Sets.

Important

Allocation of SMS-managed data sets fails if they cannot be cataloged. If an SMS-managed data set is being copied and it is currently cataloged to another volume you can specify either RECAT or delete the output data set before the copy.

NOCAT and RECAT are mutually exclusive. FDRCOPY only catalogs output data sets that it allocates (not preallocated) unless the CATIFALLOC operand is specified.

PRESTAGE

Output data sets that already exist on the target output volume are not copied. This may be used to avoid copying data sets that have already been copied. If the output data sets do not exist on the target volume, they are allocated and copied.

Important

FDRCOPY only looks for the data set on the first target volume it selects, based on the rules in Data Set COPY and MOVE. If the data set exists on another volume, FDRCOPY may still try to allocate it.

Default: Preallocated data sets have their contents overlaid.

REMOTEINSTANT=

PREFERRED

An attempt is made to use FlashCopy with Preserve Mirror. If the attempt is not successful, the COPY/MOVE operation continues and REMOTEINSTANT= is ignored. If FlashCopy is available for the COPY/MOVE operation, it is used and the Metro Mirror relationship may enter a “pending” state.

vIn a multi-target configuration, “PREFERRED” is not allowed due to an IBM restriction.

vIBM APAR OA49581 (last changed 18/11/20)

DFSMS documentation clarifications with new generation of DS8000 control unit (DS888X) ADR935W 00001E19-08040

The new generation of DS8000 control unit (DS888X) NO LONGER supports FCTOPPRCP(PMP): (Preferred)

REQUIRED

An attempt is made to use FlashCopy with Preserve Mirror. If the attempt is not successful, the COPY/MOVE operation is performed using normal I/O.

Important

If the target is not in a Metro Mirror relationship, the REMOTEINSTANT= operand is ignored.

RLSE

%FREE=

RLSE

All of the unused space in the output Physical Sequential (PS) and PO (partitioned) data sets is released.

%FREE=nn

A percentage (nn%) of the PS and PO data sets to be left free after the copy. However, the data sets are never made larger than their original size. “nn” may range from zero (0), which frees all of the free space (same as RLSE), to 99, which attempts to leave the data sets with 99% free space. Space is released only from data sets allocated by the copy; space is actually released by recalculating the required space during the allocation.

Default: The output data sets are allocated the same size as the input data sets (unless overridden by TRK=/CYL= on the SELECT statement).

SELTERR=

Specifies what happens at step termination if FDRCOPY finds that a SELECT or EXCLUDE statement was never referenced (no data set on any input DASD was selected by the statement):

NO

A condition code or abend is not to be issued at step termination. You might use SELTERR=NO when you expect some unmatched SELECT or EXCLUDE statements, perhaps because some data sets may not exist.

YES

A condition code or abend is issued at step termination to call attention to a possible control statement error.

Default: SELTERR=YES, unless overridden by the SELTERR option in the FDR Global Options (see General-Options).

SMSGDG=

Specifies the status of SMS-managed Generation Data Group (GDG) data sets if allocated by FDRCOPY.

ACTIVE

Sets the GDG to ACTIVE status.

DEFERRED

Sets the GDG to DEFERRED status.

INPUT

Sets the GDG to the SMS status of the input GDG generation. If the input GDG is non SMS-managed, it is set ACTIVE if that generation is currently cataloged, otherwise DEFERRED.

ROLLEDOFF

Sets the GDG to ROLLEDOFF status.

Default: SMSGDG=DEFERRED, except for MOVE to the same name (no NEWNAME=, NEWGROUP=, or NEWINDEX= parameter) when the default is SMSGDG=INPUT.

SNAP=

Used only when you are licensed for FDRINSTANT and only if you have previously used program FDRSNAP to create an instant point-in-time image of a volume in an EMC subsystem with the TimeFinder/Clone or Snap feature. It causes FDR to copy from the point-in-time image instead of the online DASD volume. For more information, see FDRINSTANT-for-EMC-TimeFinder.

TTIME=

When a single-volume VSAM cluster is moved to its original name, TTIME= specifies a value used to generate temporary cluster and component names for the output cluster. The temporary name is used during the move; at the end, after the input cluster is deleted, the output cluster is renamed to its original name.

The value specified can be anything that is valid for the NEWI= operand on the SELECT statement, as described in NEWINDEX=,

TTIME=..+TEMP inserts a temporary 3rd index of TEMP

TTIME=.MOVE..TEMP replaces the 2nd index level with MOVE and the 4th index with TEMP.

If the value specified contains the string “TTIME”, this is replaced with “Txxxx” where “xxxx” is a value derived from the current time-of-day. For example,

TTIME=.+TTIME inserts “Txxxx” as the 2nd index level.

Default: TIME=++–TTIME, which inserts “Txxxx” as the next to the last index level in the cluster and component names.

Important

Since the components typically end with “.DATA” and “.INDEX”, the insert is usually in a different place in the component names versus the cluster name.

 

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