DDR CMS User Area command Use the DASD Dump Restore (DDR) program to dump, restore, copy or print VM/370 user minidisks. The DDR program may run as a stand-alone program, or under CMS via the DDR command. The DDR program has five functions: 1. Dumping part or all of the data from DASD to tape. 2. Transferring data from tapes created by the DDR dump function to a direct access device. The direct access device must be of the same type as that which originally contained the data. 3. Copying data from one device to another of the same type. Data may be reordered by cylinder (or block) when copied from disk to disk. In order to copy one tape to another, the original tape must have been created by the DDR DUMP function. 4. Printing selected parts of DASD and tape records in hexadecimal and EBCDIC on the virtual printer. 5. Displaying selected parts of DASD and tape records in hexadecimal and EBCDIC on the terminal. The format of the DDR command is: +----------+------------------------------------------------------------------+ | DDR | [fn ft *|fm] | +----------+------------------------------------------------------------------+ where: fn ft fm is the identification of the file containing the control statements for the DDR program. If no file identification is provided, the DDR program prompts for control statements from the console. The filemode defaults to an asterisk (*) if a value is not provided. Usage notes: 1. If you use the CMS DDR command, CMS ignores the SYSPRINT control statement and directs the output to the CMS printer 00E. 2. When DDR is invoked in CMS, the I/O operation is performed by CP, which has built-in error recovery facilities. DDR control statements DDR control statements describe the intended processing and the needed I/O devices. I/O definition statements must be specified first. All control statements may be entered from either the console or the card reader. Only columns 1 to 71 are inspected by the program. All data after the last operand in a statement is ignored. An output tape must have the DASD cylinder header records in ascending sequence; therefore, the extents must be entered in sequence by cylinder or by extent. Only one type of function--dump, restore, or copy--may be performed in one execution, but up to 20 statements describing DASD cylinder extents may be entered. The function statements are delimited by (preceded by) an INPUT and OUTPUT statement. If additional functions are to be performed, the sequence of control cards must be repeated. If you do not use INPUT or OUTPUT control statements to separate the functions you specify when the input is read from a card reader or CMS file, an error message is displayed. However, the remainder of the input stream will be checked for proper syntax, but no further DDR operations will be performed. Only those I/O devices defined by the INPUT statement and the OUTPUT statement must be redefined in subsequent steps. The SYSPRINT I/O definition remains the same. To return to CMS, enter a null line (carriage return) in response to the prompting message (ENTER:). To return directly to CP, key in #CP. The PRINT and TYPE statements work differently than other DDR control statements in that they operate on only one data extent at a time and it is not necessary to respecify the INPUT statement ahead of each PRINT or TYPE statement. If the input is from a tape created by the dump function, the tape must be positioned at the header record for each step. The PRINT and TYPE statements have an implied output of either the console (TYPE) or system printer (PRINT), so no OUTPUT statement is required. The I/O definition statements describe the tape devices, DASD, and printers used while executing the DASD Dump Restore program. INPUT/OUTPUT control statement An INPUT or OUTPUT statement describes each tape unit and DASD used. The format of the INPUT/OUTPUT statement is: +----------+------------------------------------------------------------------+ | INput | cuu type [volser|altape] [(options...[)]] | | OUTput | | | | options: | | | SKip 0|nn | | | UNload|REWind|LEave | | | MOde 6250|1600|800 | +----------+------------------------------------------------------------------+ where: INPUT | OUTPUT indicates that the device described is an input or output device. cuu is the unit address of the device. type is the device type (2305-1, 2305-2, 2314, 2319, 2400, 2420, 3330, 3330-11, 3340-35, 3340-70, 3350, 3420) (no 7-track support for any tape devices). Specify a 3410 device as a 3420, 3340-70F as a 3340-70, and a 3333 as a 3330. Specify a 3350 that is in 3330-1 or 3330-11 compatibility mode as a 3330 or 3330-11. Specify a 3344 as a 3340-70, and specify 3350 for a 3350 operating in native mode (as opposed to compatibility mode). Note: The DASD Dump Restore (DDR) program, executing in a virtual machine, uses I/O DIAGNOSE 20 to perform I/O operations on tape and direct access storage devices. DDR under CMS requires that the device type entered agree with the device type of the real device as recognized by VM/370. If there is a conflict with device types, the following message is issued: DMKDDR708E INVALID OPTION volser is the volume serial number of a DASD. If the keyword "SCRATCH" is specified instead of the volume serial number, no label verification is performed. altape is the address of an alternate tape drive. Note: If multiple reels of tape are required and "altape" is not specified, DDR types the following at the end of the reel: END OF VOLUME CYL xxxx HD xx, MOUNT NEXT TAPE After the new tape is mounted, DDR continues automatically. Options: SKIP 0 | nn forward spaces nn files on the tape. nn is any number up to 255. The SKIP option is reset to zero after the tape has been positioned. MODE 6250 | 1600 | 800 Mode 6250, 1600 or 800 cause all output tapes that are opened for the first time and at the load point to be written or read in the specified density. All subsequent tapes mounted are also set to the specified density. If no mode option is specified, then no mode set is performed and the density setting remains as it previously was. REWIND rewinds the tape at the end of a function. UNLOAD rewinds and unloads the tape at the end of a function. LEAVE leaves the tape positioned at the end of the file at the end of a function. Note: When the wrong input tape is mounted, the message DMKDDR709E is displayed and the tape will rewind and unload regardless of options REWIND, UNLOAD or LEAVE being specified. SYSPRINT control statement The SYSPRINT control statement describes the device to which output is to be sent. If the SYSPRINT CONS option is specified, the output is directed to the console for both the CMS environment and the DDR virtual machine. In the CMS environment, all output is directed (by default) to 00E, unless the SYSPRINT CONS option is specified. Any SYSPRINT cuu option specification is ignored. The format of the SYSPRINT control statement is: +----------+------------------------------------------------------------------+ | SYsprint | cuu | +----------+------------------------------------------------------------------+ where: cuu specifies the unit address of the device. Function statements The function statements tell the DDR program what action to perform. The function commands also describe the extents to be dumped, copied, or restored. The format of the DUMP/COPY/RESTORE control statement is: +----------+------------------------------------------------------------------+ | DUmp | ALL | | COpy | CPvol | | REstore | NUcleus | | | cyl1 [To] [cyl2 [Reorder] [To] [cyl3]] | +----------+------------------------------------------------------------------+ where: DUMP requests the program to move data from a direct access volume onto a magnetic tape or tapes. The format of the resulting tape is: Record 1 A volume header record, consisting of data describing the volumes. Record 2 A track header record, consisting of a list of count fields to restore the track, and the number of data records written on tape. After the last count field, the record contains key and data records to fill the 4K buffer. Record 3 Track data records, consisting of key and data records packed into 4K blocks, with the last record truncated. Record 4 Either the end-of-volume (EOV) or end-of-job (EOJ) trailer label. The end-of-volume label contains the same information as the next volume header record, except that the ID field contains EOV. The end-of-job trailer label contains the same information as record 1 except that the cylinder number field contains the disk address of the last record on tape and the ID field contains EOJ. COPY requests the program to copy data from one device to another device of the same or equivalent type. Data may be recorded on a cylinder or block basis from input device to output device. A tape-to-tape copy can be accomplished only with data dumped by this program. RESTORE requests the program to return data that has been dumped by this program. Data can be restored only to a DASD volume of the same or equivalent device type from which it was dumped. It is possible to dump from a real disk and restore to a minidisk as long as the device types are the same. cyl1 [TO] [cyl2 [REORDER] [TO] [cyl3]] Only those cylinders specified are moved, starting with the first track of the first cylinder (cyl1), and ending with the last track of the second cylinder (cyl2). The REORDER operand causes the output to be reordered, that is, moved to different cylinders, starting at the specified cylinder (cyl3) or at the starting cylinder (cyl1) if cyl3 is not specified. The REORDER operand must not be specified unless specified limits are defined for the operation; the starting and, if required, ending cylinders (cyl1 and cyl2) must be specified. If the input device cylinder extents exceed the number of cylinders specified on the output device, an error message results. CPVOL specifies that cylinder 0 and all active directory and permanent disk space are to be copied, dumped, or restored. This indicates that both source and target disk must be in CP format, that is, the CP Format/Allocate program must have formatted them. ALL specifies that the operation is to be performed on all cylinders. NUCLEUS specifies that record 2 on cylinder 0, track 0 and the nucleus cylinders for count-key-data devices are dumped, copied, or restored. Restrictions: 1. Each track processed by this utility must have a valid home address on it containing the real cylinder and track location. 2. Record zero must not contain more than eight bytes in the key and data fields. 3. Flagged tracks are treated just as any other track for all 2314, 2319, and 2305 devices. That is, no attempt is made to substitute the alternate track data when a defective primary track is read. In addition, tracks are not inspected to determine whether they were previously flagged when written. Therefore, volumes containing flagged tracks should be restored to the same cylinders of the volume from which they were dumped. The message DMKDDR715E occurs each time a defective track is dumped, copied or restored, and the operation continues. 4. Flagged tracks on 3330, 3340, 3350, 3375, and 3380 devices are handled so that data is transferred to or from the assigned alternate track in place of the defective track. PRINT/TYPE function statement Use the PRINT and TYPE function statement to print or type (display) a hexadecimal and EBCDIC translation of each record specified. The first of a group of PRINT or TYPE statements must be preceded by an INPUT statement defining either a direct access device or a tape. The output is directed to the system console for the TYPE function, or to the SYSPRINT device for the PRINT function. (This does not cause redefinition of the output unit definition.) The format of the PRINT/TYPE control statement is: +----------+------------------------------------------------------------------+ | PRint | cyl1 [hh1 [rr1]] [To cyl2 [hh2 [rr2 ]]] [(options...[)]] | | TYpe | | | | options: | | | Hex Graphic Count | +----------+------------------------------------------------------------------+ where: cyl1 is the starting cylinder. hh1 is the starting track. If present, it must follow the cyl1 operand. The default is track zero. rr1 is the starting record. If present, it must follow the hh1 operand. The default is home address and record zero. TO cyl2 is the ending cylinder. If more than one cylinder is to be printed or typed, "TO cyl2" must be specified. hh2 is the ending track. If present, it must follow the cyl2 operand. The default is the last track on the ending cylinder. rr2 is the record ID of the last record to print. The default is the last record on the ending track. Options: HEX prints or displays a hexadecimal representation of each record specified. GRAPHIC prints or displays an EBCDIC translation of each record specified. COUNT prints or displays only the count field for each record specified. Responses: Message (DMKDDR711R) indicates that the volume serial number read from the device at cuu is not the same as that specified on the INPUT or OUTPUT control card: DMKDDR711R VOLID READ IS volid2 NOT volid1 DO YOU WISH TO CONTINUE? RESPOND YES NO OR REREAD: volid2 is the volume serial number from the VOL1 label on the DASD unit. volid1 is the volume serial number from the INPUT or OUTPUT control card. Message (DMKDDR716R) indicates that the device at cuu (as specified in the INPUT or OUTPUT control card) contains no volume serial number: DMKDDR716R NO VOL1 LABEL FOUND FOR volser DO YOU WISH TO CONTINUE? RESPOND YES NO OR REREAD: volser is the volume serial number of the DASD from the INPUT or the OUTPUT control card. Message (DMKDDR717R) requests verification of the input parameters: DMKDDR717R DATA DUMPED FROM volid1 TO BE RESTORED TO volid2 DO YOU WISH TO CONTINUE? RESPOND YES NO OR REREAD: volid1 is the volume serial number from the input tape header record (volume dumped). volid2 is the volume serial number from the output device. Message (DMKDDR725R) indicates that the input device has more storage units than the output device: DMKDDR725R DASD INPUT DEVICE WAS (IS) LARGER THAN OUTPUT DEVICE. DO YOU WISH TO CONTINUE? RESPOND YES NO OR REREAD: Explanation: RESTORE function - The number of cylinders or blocks on the original DASD input unit is compared with the number on the output device. COPY function - The input device contains more cylinders or blocks than the output device. Operator Action: The operator must determine if the COPY or RESTORE function is to continue. The response is either yes, no, or reread. Other messages from DDR prompt for input and report progress in processing. The following message prompts for input from the terminal: ENTER CYLINDER EXTENTS ENTER: The following message prompts for the next tape reel: END OF VOLUME CYL xxxx HD xx, MOUNT NEXT TAPE After the tape is mounted, DDR continues processing. This message reports that the RESTORE operation has begun: RESTORING volser volser is the volume serial number of the disk dumped. This message reports that the COPY operation has begun: COPYING volser volser is the volume serial number described by the input unit. This message reports that the dumping operation has begun: DUMPING volser volser is the volume serial number described by the input unit. This message reports that the PRINT operation has begun: PRINTING volser volser is the volume serial number described by the input unit. This message reports that the DUMP operation has ended: END OF DUMP This message reports that the RESTORE operation has ended: END OF RESTORE This message reports that the COPY operation has ended: END OF COPY This message reports that the PRINT operation has ended: END OF PRINT This message reports that all specified operations have completed: END OF JOB When this message Enter: prompts for input from the terminal, pressing the ENTER key (or equivalent) causes control to return to CMS, if the virtual machine is in the CMS environment.