Running the DFSUDMT0 utility
Depending on the options you select, the DFSUDMT0 utility has a number of operational considerations when running the utility.
Concurrent copy function
The concurrent copy function can make both fuzzy and clean image copies.
When using the DFSMS concurrent copy option of the Database Image Copy 2 utility, the database is unavailable only long enough for DFSMS to initialize a concurrent copy session for the data, which is a very small fraction of the time that the complete backup will take. After the concurrent copy session is established, the copy is logically complete. After the concurrent copy initialization, updates can be resumed while DFSMS is reading the data and creating an output copy. The copy that is made will not include any of the update activity, as if the backup were made instantaneously when it was requested.
When the image copy is physically complete, it is registered with DBRC as either a SMSNOCIC or SMSCIC image copy. The length of time required to complete the physical copy depends upon the size of the data set.
The physical copy is used as input by the Database Recovery utility (DFSURDB0). The physical copy time is used by DBRC to generate JCL for a recovery. If the image copy is a clean image copy (SMSNOCIC), DBRC includes the required change accumulation data sets and logs to apply changes made to the database after the stop time of the image copy. If the image copy is a concurrent image copy (SMSCIC), DBRC includes the required change accumulation data sets and logs to apply changes made to the database after the start time of the image copy.
By using the DFSMS concurrent copy function the Database Image Copy 2 utility increases database availability. You can copy a database that is either stopped or active. If the database is stopped, it can be restarted after the logical copy is complete, and database updating can continue. The database is available to IMS without waiting for the physical copy to be complete. Note that nonrecoverable databases must be stopped before the utility is run.
You also have the option to wait until the physical copy is complete before releasing the database for update. This is useful in cases where an image copy is required for a specific purpose (like end-of-month processing). In this case, it is safer to wait for the physical copy before restarting the database.
You can choose the concurrent copy option of the Database Image Copy 2 utility by specifying the concurrent copy DBDS select statement.
Fast replication function
The fast replication function uses the z/OS® DFSMSdss command COPY FASTREP(REQ) and the fast replication copy technology provided by an Enterprise Storage Server® (ESS) with FlashCopy® capability or a RAMAC Virtual Array (RVA) with Snapshot capability.
The fast replication function uses the fast replication technology to create the image copy, and to restore the database data sets (DBDS) during recovery as well. A fast replication image copy is an exact copy of the DBDS, as opposed to the dump formatted image copy of the concurrent copy option.
Unlike the concurrent copy process, the fast replication copy process is not split into a logical copy phase and a physical copy phase. If you are creating a clean image copy, the database is unavailable for the duration of the copy process; however, the fast replication process is comparable in speed to the logical copy phase of the concurrent copy process.
When the image copy is complete, the Database Image Copy 2 utility registers it with DBRC as either a SMSOFFLC or SMSONLC image copy. If you are creating a clean image copy, the Database Image Copy 2 notifies the system console that the image copy is complete. If you are creating a fuzzy image copy, no notification is sent.
You can choose the fast replication option of the Database Image Copy 2 utility by specifying fast replication DBDS select statement.
Multiple database data set input
The Database Image Copy 2 utility can copy multiple DBDSs in one execution of the utility. You can specify multiple control statements in a single execution, one per DBDS to be copied.
The Database Image Copy 2 utility passes all of the DBDSs specified on the control statements to the DFSMSdss command on a single invocation. If you are using the concurrent copy option, DFSMSdss starts the multiple dump processes in parallel and the logical copy phase completes in a very brief period for all of the DBDSs. If you are using the fast replication option to copy multiple DBDSs, DFSMSdss starts the multiple copy processes in parallel and the entire image copy process completes more quickly than if the multiple copy requests were processed one at a time.
The number of DFSMSdss dump or copy tasks that can process in parallel depends on the availability of resources. Copying multiple data sets in a single execution requires more of certain resources (virtual storage, tape drives) than copying a single DBDS. If required resources are not available, some of the DFSMSdss tasks might be delayed until other tasks have ended and required resources have become available.
You can specify a group name to identify the set of DBDSs that are copied as a group. If you do not specify a group name, you can specify different processing options for each of the DBDSs that are copied in the same utility execution. This allows the image copies of some DBDSs copied in a single execution of the utility to be clean, or consistent, image copies while the image copies of other DBDSs copied in the same execution can be fuzzy image copies.
If you are using the concurrent copy option and you are creating a fuzzy copy of a KSDS in the same utility execution in which other DBDSs are being copied, the likelihood that the image copy process will fail with a DFS3145A message is greater than if the KSDS were being copied by itself. When the KSDS is the only data set being copied, the utility retries the DFSMSdss DUMP command several times before failing with the DFS3145A error. There is, however, no retry, if other DBDSs were being copied in the same execution.
If you are using the fast replication option, you can create fuzzy image copies of KSDSs in the same utility execution in which other DBDSs are being created without a problem. Data set types do not matter when you are using the fast replication option.
Specifying group names
You can specify a group name to represent a collection of DBDSs that are to be copied in a single execution of the Database Image Copy 2 utility by including a Group Name utility control statement.
The group names capability allows you to monitor clean image copy processing on a group basis. If you specify a group name, status is reported in the completion messages of the logical and the physical phases of the concurrent copy function, and the completion of the entire image copy process for the fast replication function.
The group name can be the name of a DBRC group (a DB group, a DBDS group, or a CA group). The utility does not verify that a group with the name exists in the RECON or that the members of the group, if one exists, were specified to be copied by the utility. However, using a DB or DBDS group name on the group name statement for the utility can simplify operations.
The group name statement is followed by control statements identifying the DBDSs that are (or that are to be treated as) members of the group. All of the data sets in a DB or DBDS group can be included in a single named group and thus copied in a single Database Image Copy 2 execution. When clean image copies are taken, a /DBR DATAGROUP command can be used to stop the databases/areas in any DB or DBDS group. A /START DATAGROUP command can then be used to restart the databases or areas when the appropriate completion notification for the group has been given.
If a group statement is specified, processing options for the members of the group are specified at the group level. The options specified or defaulted for the group override the options specified individually on the DBDS statements in the group.
Single output data set for multiple image copies
DFSMSdss provides the capability to copy multiple input data sets into one output data set. The concurrent copy function of the Database Image Copy 2 utility exploits this capability by providing a same data set option.
The same data set option concatenates the image copies of up to 255 DBDSs into a single output data set in a single execution of the utility by writing multiple dumps one after another in the output data set, each preceded by DFSMSdss dump header records. In the RECON, the output data set is recorded in the image copy record for each of the DBDSs that were copied. If more than 255 DBDSs are specified, utility execution terminates.
The single output data set containing the image copy output for up to 255 DBDS instances can be contrasted with the stacking achieved through JCL specifications, which produces multiple image copy instances in separate data sets on the same tape volume.
Concatenating the image copies by using the same data set option can increase the efficiency of tape media usage and decrease the number of tape volumes allocated to take the image copies.
A disadvantage, however, is that recovery using the Database Recovery utility requires a separate read pass through the tape volume(s) to restore each DBDS from the stacked image copies. Also, concatenating onto a single data set serializes the physical copy process and can extend the time of unavailability while clean copies are created with notification at physical completion.
- The fast replication function of the Database Image Copy 2 utility
- DBDSs registered in the RECON data set with the REUSE attribute
- In the first DBDS select statement that you include, define the output data set as you would normally.
- In all subsequent DBDS select statements:
- Specify an S in column 1.
- Do not define an output data set.
Dynamic data set names for fast replication image copies
If you are using the fast replication function, you can have the Database Image Copy 2 utility dynamically generate the data set names and ddnames for your output data sets. You need only make the appropriate specification on the fast replication DBDS select statement and include an HLQ specification statement that defines a high-level qualifier. Using the HLQ specification statement, you can also have the Database Image Copy 2 utility append a time stamp to the dynamically generated names as a low level qualifier.
If you are using SMS managed DASD, DFSMSdss can create the data set itself with all of the correct allocation attributes. You do not need to include a DD statement or specify an OUTPUT ddname in the DBDS control statement.
If you are using non-SMS managed DASD, you must provide a DD statement to specify the target volumes and you must specify the OUTPUT ddname in the DBDS control statement; however, DFSMSdss can determine the rest of the allocation attributes from the source database data set.
If you choose to define your data set names and ddnames manually, you must include the output data set name in the JCL and the appropriate OUTPUT ddname in the DBDS control statement.
Image copy completion notification
When clean image copies are taken, the Database Image Copy 2 utility notifies the system console when a logical or physical phase of the concurrent copy function is complete and when the entire image copy process of the fast replication function is complete. This notification indicates that the database or group can be started.
The Database Image Copy 2 utility does not provide completion notification when fuzzy image copies are taken. The completion of a fuzzy image copy requires no action to return the database to available status.
Logical completion notification for the concurrent copy function
The Database Image Copy 2 utility issues the DFS3121I message when an image copy created by using the concurrent copy function is logically complete. The image copy is logically complete when DFSMSdss has completed the concurrent copy initialization phase. When a clean image copy is taken and you want to resume updates to the database before the image copy is physically complete, this message indicates that the database can now be started on the online systems. The message is issued to the system console so that users can automate the starting of the database.
- If a group name is specified to the utility, the DFS3121A message is issued just once for the group.
- If a group name is not specified, the message is issued once per database, HALDB partition, or area.
The DFS3121A message is issued at logical completion only if a clean image copy is being taken and updates are to be allowed once the copy is logically complete (XL was specified on the utility control statement). It is followed by DFS3121I messages identifying the DBDSs for the group or database that is being copied (for an area one DFS3121I message is issued identifying the area data set being copied). The DFS3121A message goes to the system console and to the SYSPRINT data set; the DFS3121I messages go only to the SYSPRINT data set.
This example shows the logical completion messages issued to SYSPRINT when a group statement is specified:
DFS3121A LOGICAL COPY COMPLETE FOR GROUP groupname; 0 OF 5 DATA SETS FAILED
DFS3121I COPIED DB/AREA dbnameA DDN ddnameA1 DSN dsnameA1
DFS3121I COPIED DB/AREA dbnameA DDN ddnameA2 DSN dsnameA2
DFS3121I COPIED DB/AREA dbnameA DDN ddnameA3 DSN dsnameA3
DFS3121I COPIED DB/AREA dbnameB DDN ddnameB1 DSN dsnameB1
DFS3121I COPIED DB/AREA dbnameC DDN ddnameC1 DSN dsnameC1
This example shows the logical completion messages issued when a group statement is not specified:
DFS3121A LOGICAL COPY COMPLETE FOR DB/AREA dbnameA; 0 OF 3 DATA SETS FAILED
DFS3121I COPIED DB/AREA dbnameA DDN ddnameA1 DSN dsnameA1
DFS3121I COPIED DB/AREA dbnameA DDN ddnameA2 DSN dsnameA2
DFS3121I COPIED DB/AREA dbnameA DDN ddnameA3 DSN dsnameA3
DFS3121A LOGICAL COPY COMPLETE FOR DB/AREA dbnameB; 0 OF 1 DATA SETS FAILED
DFS3121I COPIED DB/AREA dbnameB DDN ddnameB1 DSN dsnameB1
DFS3121A LOGICAL COPY COMPLETE FOR DB/AREA dbnameC; 0 OF 1 DATA SETS FAILED
DFS3121I COPIED DB/AREA dbnameC DDN ddnameC1 DSN dsnameC1
Database authorization is released by Database Image Copy 2 when logical copy is complete for all DBDS occurrences selected for the group, the database, the HALDB partition, or the area. This allows application processing to resume update activity.
If the logical copy process fails for any DBDSs, DFS3121A message also identifies the failed DBDSs. When DFS3121A indicates that the image copy for a DBDS has failed, you can consider trying to copy the DBDS again before starting the group or database. For each DBDS that failed during the logical copy phase, message DFS3122A is also issued.
Physical completion notification for the concurrent copy function
If you are using the concurrent copy function to create a clean image copy and you disallow database updates until the physical copy phase is complete, the Database Image Copy 2 utility issues message DFS3141A to the system console when the image copy is physically complete. This message indicates that the image copies have been recorded in the RECON and the databases or areas can be started.
Like the DFS3121A message, the DFS3141A reports on the group name if a group name was specified. Otherwise, a DFS3141A message is issued for each database, HALDB partition, and area that was processed. The individual data sets that were successfully processed are identified by DFS3141 messages.
An example of the SYSPRINT output follows.
DFS3141A PHYSICAL COPY COMPLETE FOR GROUP groupname; 0 OF 4 DATA SETS FAILED
DFS3141I COPIED DB/AREA dbname1 DDN ddname1 DSN dsname1
DFS3141I COPIED DB/AREA dbname1 DDN ddname2 DSN dsname2
DFS3141I COPIED DB/AREA dbname3 DDN ddname3 DSN dsname3
DFS3141I COPIED DB/AREA dbname4 DDN ddname4 DSN dsname4
The DFS3141A message goes to the system console and to the SYSPRINT. The DFS3141I messages go only to the SYSPRINT. Authorization is released when physical copy is complete for all DBDS occurrences selected for the group, or for the database, HALDB partition, or area.
If the physical copy process fails for any DBDSs, DFS3141A message also identifies the failed DBDSs. When DFS3141A indicates that the image copy for a DBDS has failed, you can consider trying to copy the DBDS again before starting the group or database. For each DBDS that failed during the physical copy phase, message DFS3144A is also issued.
Image copy complete notification for the fast replication function
The Database Image Copy 2 utility issues message DFS3141A when a clean image copy taken using the fast replication function is complete. This message indicates that the image copies have been recorded in the RECON and the databases or areas can now be started. DFS3141A reports on the group name if a group name was specified. Otherwise, the Database Image Copy 2 utility issues a DFS3141A message for each database, HALDB partition, and area that was processed. DFS3141 messages identify the individual data sets that were successfully processed.
An example of the SYSPRINT output follows.
DFS3141A PHYSICAL COPY COMPLETE FOR GROUP groupname; 0 OF 4 DATA SETS FAILED
DFS3141I COPIED DB/AREA dbname1 DDN ddname1 DSN dsname1
DFS3141I COPIED DB/AREA dbname1 DDN ddname2 DSN dsname2
DFS3141I COPIED DB/AREA dbname3 DDN ddname3 DSN dsname3
DFS3141I COPIED DB/AREA dbname4 DDN ddname4 DSN dsname4
The DFS3141A message goes to the system console and to the SYSPRINT. The DFS3141I messages go only to the SYSPRINT. Authorization is released when the fast replication image copy is complete for all DBDS occurrences selected for the group, or for the database, the HALDB partition, or the area.
If the fast replication copy process fails for any DBDSs, DFS3141A message also identifies the failed DBDSs. When DFS3141A indicates that the image copy for a DBDS has failed, you can consider trying to copy the DBDS again before starting the group or database. For each DBDS that failed during the physical copy phase, message DFS3144A is also issued.
Specifying DFSMSdss SET PATCH commands
This topic contains Product-sensitive Programming Interface information.
DFSMSdss provides a patch area that allows you to customize DFSMSdss processing by setting the values of patch bytes at specific offsets. The Database Image Copy 2 utility provides two methods for temporarily setting DFSMSdss patch bytes.
SET PATCH control statement
You can specify DFSMSdss processing options for the current execution of the Database Image Copy 2 utility by using the SET PATCH control statement. The control statement allows you to specify DFSMSdss SET PATCH command offsets and values to the Database Image Copy 2 utility.
You can include up to 10 SET PATCH specifications in each SET PATCH control statement. You can include multiple SET PATCH control statements.
SET PATCH commands in module DFSUDMT2
The Database Image Copy 2 utility defines generic SET PATCH commands (SET PATCH 00=00) that you can zap in module DFSUDMT2 and pass to DFSMSdss along with the DFSMSdss commands DUMP or COPY. The patches are then in effect only for the Image Copy 2 job step and not for any other DFSMSdss processing.
To have the utility pass a SET PATCH command to DFSMSdss, you can apply a zap in DFSUDMT2 to replace the patch byte and the patch value on one of the SET PATCH 00=00 character strings with the desired values (character strings of length 2), for example, SET PATCH 44=FF. One or more SET PATCH commands in the module can be changed. The utility passes DFSMSdss any SET PATCH command for which the patch byte character string is not 00. Note that the utility does not verify the command syntax or validate the patch byte or the patch value before passing the command to DFSMSdss.
If usage is restricted by the installation, you must ensure that authorization to issue the DFSMSdss SET command with the PATCH keyword is provided.