Recover SYSOUT from Tapes

Use the tape copy utility SARTCP to map, copy, or salvage SYSOUT on an archival or DR tape.
view
Use the tape copy utility SARTCP to map, copy, or salvage SYSOUT on an archival or DR tape.
Control Statements
Two control statements are provided so that you can skip over damaged files. They are NULL and SKIP. The NULL statement inserts a null SYSOUT group to restore correct positioning after a SKIPped group.
Related Utilities
If you use 3480/3490/3590 processing (using the TAPEOPT initialization parameter) and you use SARTCP on a backup tape without using the COPYASIS execution parameter, you must also run SARPAC to update the GCRs (Group Control Records) with 3480/3490/3590 block ID information.
If you do not run SARPAC, the reports accessed will be without the benefit of 3480 block ID processing.
If you have the expanded access server, then you must also run SARPAC on the tape to make it available to the server.
Recovering a Tape No Duplex Available
The following steps describe the actions you must take to recover a tape when no duplex is available.
  1. Map the contents of the backup tape by using the SARTCP program.
    You might have to use bypass label processing (BLP) in the JCL to have SARTCP start at a point in the tape that is read-able.
  2. Run SARTCP to copy the backup tape to a new tape.
    Use the SKIP control statements to bypass the unreadable portions of the input tape.
    Each SKIP statement must have a corresponding NULL statement to maintain proper positioning on the output tape.
  3. Uncatalog the old (damaged) backup tape, and then catalog the new backup tape.
    To perform this processing, see Example 2, in the JCL.
Recovering a Tape Duplex Tape Available
Note:
The DR tape is not a mirror image of the primary/duplex tape and cannot be used as a substitute for the duplex tape.
Follow these steps to recover a tape when a duplex tape is available.
  1. Uncatalog the damaged backup tape, but set it aside, in case the duplex tape cannot be located or is damaged.
  2. Use SARTCP with the COPYASIS execution parameter to copy the duplex tape to a new tape with the same data set name as the original backup tape.
    Note:
    The new tape must be large enough to contain the full contents of the duplex tape. If the new tape is not large enough, a SARTCP11 Output Tape EOV Error, ECB=
    xx
    , BLOCK=
    xxxxxxx
    , SENSE=
    xxxx
    message is displayed.
  3. Catalog the new backup tape.
    You can do this in Example 3, in the JCL.
Tape Map Reports
mm/dd/yyyy hh:mm:ss CA View Output Archival and Viewing .(nn.n) PAGE 1 SARTCP Tape Copy Utility - Tape Contents Invol: vvvvvv Indsn: .................. Outvol: Outdsn: .................. In Pos Out Pos Rec Pos Id Jobname Jobid Gen Seq Blocks Cont -------- ------- -------- ------------------------------- -------- -------- ---- --- ------- ----
SARTCP produces a report listing of the SYSOUT groups and master index backups that are on the archival tape. This is a list of the contents of the archival tape:
  • Input position
    The position of the entry on the input tape.
  • Output position
    The position the entry has on the output tape (if created, with the TAPEOUT DD statement).
  • Recorded position
    The position as indicated in the GCR (Group Control Record) for the SYSOUT group or master index backup.
  • Jobname
    The name of the job that originally created the SYSOUT group.
  • Job ID
    The JES identifier of the job that originally created the SYSOUT group.
  • Generation number
    The archival generation of the SYSOUT group.
  • Sequence number
    The sequence number of the SYSOUT group in the generation.
  • Blocks
    The number of data blocks used for the SYSOUT group.
  • Continuation Indicator
    • YES indicator
      Shows whether the SYSOUT group or master index is continued to another backup tape or continued from a previous backup tape.
    • ABN indicator
      Shows if the task writing the data terminated abnormally. The task writing the data set a flag in the data's EOF record when it terminated abnormally. This flag means that the data might be incomplete and should be re-created if possible.
      If the data is a SYSOUT which is still resident on primary or secondary disk, its BACKUP Flag can be set to OFF using the SARBCH /CHANGE function.
      If the data is an Index, another backup cycle can be run to create a new Master index backup.
  • SYSOUT ID
    The ID of the SYSOUT group or one of the following special identifiers:
    • *** INDX ***
      Represents a backup of the master index.
    • *** UNKN ***
      The identity of the SYSOUT group cannot be determined because the first record of the group is not a control record.
      For all but the first SYSOUT group on the tape, this identification indicates a problem with the group. For the first SYSOUT group on the tape, this identification is normal when the SYSOUT group is a continuation of the group from the previous tape.
    • *** NULL ***
      The entry represents a null SYSOUT group (that is, two consecutive EOD records).
      A null entry is created on an archival tape by the NULL control statement.
    • *** SKIP ***
      The SYSOUT group or master index backup represented by the entry is skipped over as requested by a SKIP control statement.
Job Control Statements
Sample execution JCL can be found in member HAEXTCP in your CVDEJCL data set.
These job control statements are necessary to execute SARTCP:
  • JOB
    Initiates the job.
  • EXEC
    Specifies the program name (PGM=SARTCP).
    To invoke the duplicate function, you must add (PARM='COPYASIS') to the execute statement. When COPYASIS is invoked, the control statements in the SYSIN file are ignored.
    To create a new
    View
    header (SARHDR) record on the output tape, add PARM='ADDHDR' to the execute statement. If the input tape has a
    View
    Header, the message SARTCP03 is be displayed and the step abends with a U'0003'.
  • STEPLIB DD
    Defines the load library containing SARTCP.
    If the program resides in a linklist library, omit this statement.
  • SYSPRINT DD
    Defines the sequential output data set (normally SYSOUT) into which the mapping report is written.
    If not a SYSOUT data set, DCB=BLKSIZE=nnn must be coded, where nnn is a multiple of 133.
  • TAPEIN DD
    Defines the input tape.
    Generally, the tape must be defined with standard labels. However, if the tape has been damaged, bypass label processing can be used.
  • TAPEOUT DD
    Defines the output tape.
    This statement is optional; if omitted, no tape copy is performed.
  • SYSIN DD
    Defines a card image data set containing the control statements.
    Note
    : When COPYASIS is invoked, the control statements in the SYSIN file are ignored.
SARTCP Control Statements
Two control statements, NULL and SKIP, are used with the tape copy utility program.
NULL
The NULL control statement is used to write a null SYSOUT group to the output tape. For example, assume an I/O error exists on an archival tape causing the relative positions of the SYSOUT groups on the tape to be thrown off. The NULL statement can be used to insert a null SYSOUT group to restore correct positioning.
Syntax:
NULL position-number[-position-number]
where
  • position-number
    Specifies the desired tape file position, from 1 to 99999999, of the null group. The position can be only one position, or it can be a range of positions (for example, NULL 1 - 2048).
SKIP
The SKIP control statement is used to skip over a SYSOUT group on the input tape. It has the effect of deleting the group or groups from the output.
Syntax:
SKIP
position-number
[-
position-number
]
where
  • position-number
    Specifies the desired tape file position, from 1 to 99999999, of the SYSOUT group to be skipped.
    The position number can be one position, represented by a single number, or a range of positions represented by a range of numbers (for example, SKIP 1 - 2048).
SARTCP Example
For this example, assume that an archival tape is inadvertently mounted as a scratch tape for a job and the beginning of the tape is overwritten.
To recover the remaining SYSOUT archived on the tape, run this job to map the tape.
//TAPEMAP JOB ACCOUNT,PROGRAMMER //STEP1 EXEC PGM=SARTCP //STEPLIB DD DSN=CAI.CVDELOAD,DISP=SHR //SYSPRINT DD SYSOUT=A,DCB=BLKSIZE=133 //TAPEIN DD DSN=VIEW.SARTAPE.T0000087,DISP=OLD //SYSIN DD DUMMY
This mapping report is produced:
11/10/2013 16:52:25 CA View Output Archival and Viewing (nn.n) PAGE 1 SARTCP Tape Copy Utility - Tape Contents Invol: 003467 Indsn: VIEW.SARTAPE.T0000087 Outvol: Outdsn: In Pos Out Pos Rec Pos Id Jobname Jobid Gen Seq Blocks Cont -------- ------- -------- ------------------------------- -------- -------- ---- --- ------- ---- 1 1 *** UNKN *** 3 2 2 *** UNKN *** 17 3 3 *** UNKN *** 3 4 4 *** NULL *** 0 SARTCP10 Input tape I/O error, ECB=41, BLOCK=0000000001, SENSE=2500 5 5 *** UNKN *** 6 6 6 8 A06125ME A06125ME JOB09362 128 12 2 7 7 9 A06128ME A06128ME JOB09368 128 12 2 8 8 10 A21100R A21100R JOB09500 128 12 2 9 9 11 A2211OR A2211OR JOB09701 128 12 2 10 10 12 *** INDX *** *** EOF *** SARTCP16 Processing successfully completed
In the preceding report, the first seven SYSOUT groups on the tape were destroyed. The report also shows that the first valid SYSOUT group has a recorded position of 8.
Use one of the following methods:
  • Run this job to recover the remaining SYSOUT groups
    //TAPECOPY JOB ACCOUNT,PROGRAMMER //STEP1 EXEC PGM=SARTCP //STEPLIB DD DSN=CAI.CVDELOAD,DISP=SHR //SYSPRINT DD SYSOUT=* //TAPEIN DD DSN=VIEW.SARTAPE.T0000087, // DISP=(OLD,UNCATLG) //TAPEOUT DD DSN=VIEW.SARTAPE.T0000087, // DISP=(,CATLG),UNIT=TAPE,LABEL=EXPDT=99000 //SYSIN DD * SKIP 1 SKIP 2 SKIP 3 SKIP 4 SKIP 5 NULL 1 NULL 2 NULL 3 NULL 4 NULL 5 NULL 6 NULL 7 /*
  • Run this job to recover a primary tape when a duplex tape is available
    //TAPECOPY JOB ACCOUNT,PROGRAMMER //STEP1 EXEC PGM=SARTCP,PARM='COPYASIS' //STEPLIB DD DSN=CAI.CVDELOAD,DISP=SHR //SYSPRINT DD SYSOUT=* //TAPEIN DD DSN=VIEW.SARDPLX.T0000087, // DISP=OLD //TAPEOUT DD DSN=VIEW.SARTAPE.T0000087, // DISP=(,CATLG),UNIT=TAPE,LABEL=EXPDT=99000 //SYSIN DD DUMMY