ShadowImage for ABR
When a normal ABR full-volume or incremental backup completes successfully, it is recorded by doing two things:
- ABR catalogs the backup data set it just created in the ABR catalog.
- ABR updates the VTOC on the volume to record in the ABR Model DSCB the generation and cycle of the backup just created, and updates the current backup information for every selected data set.
So, as soon as the backup data set is complete and available, all ABR records point to it and restores can be immediately requested.
Operation of FDRINSTANT for ABR
With FDRINSTANT for ABR, all of the same information must be recorded on the online volume, to document the backup. However, these changes cannot wait until the backup of the offline point-in-time image to tape is complete, since changes may have occurred to the online volume in the meantime (such as updating a data set again, deleting or allocating data sets).
To solve this, when ABR is invoked to capture the point-in-time image, it updates the online volume immediately. The ABR generation and cycle of the next backup is determined and all of the steps shown above are taken, except that the backup is cataloged to the online volume itself (something that would never occur in a normal ABR backup) so this tells ABR that the backup is a point-in-time image. This functions as a true backup, since you can do restores from it.
Later, ABR processes the point-in-time image and create a normal ABR backup from the offline image, exactly like it would do the backup of the online volume if FDRINSTANT were not involved. It re-catalogs the backup data set to the tape just created. At this point, the backup looks exactly like a normal ABR backup of the online volume.
Even before the backup is moved to tape, ABR can restore the entire volume or individual data sets from the point-in-time image. No special parameters are required; a normal ABR full-volume or data set restore will recognize that the data it needs is on the offline image and will restore it.
Executing FDRINSTANT for ABR
To use FDRINSTANT for ABR, you must divide your existing ABR volume backup jobs into two steps that may be executed in one job or in two separate jobs:
- The first step captures all the point-in-time images of the selected online volumes using the ABR statement PSPLIT. This normally takes only a few seconds per volume selected. We recommend that updates to the online volumes be suspended as far as possible during this step. As soon as it finishes, updates to the online volumes can begin again, since the point-in-time captured image of the volume exists. To insure that the split volume is not accidentally brought online, ABR modifies the volume label in a way that FDR can access it but any attempt to bring it online (VARY command or IPL) fails. If you have a need to bring the ShadowImage volume online to another system, see Can I bring the ShadowImage Copy online to another system or LPAR? If you need to split a set of volumes at the same point-in-time, see FDRINSTANT-for-SnapShot-Consistent-Backup-Support.
- The second step creates the actual backup tapes by reading the captured point-in-time images. It is identical to the original ABR step, except that ABR operand PPRC= must be added to invoke this support. This ABR step can also include backups of volumes that do not have captured images; these volumes are backed up normally (with a warning message). It also optionally releases the captured images when it is done with them by re-synchronizing the ShadowImage volume to its online volume.
When you split the ABR step into two, each step should contain the same JCL and ABR control statements as the original, with a few changes. It is vital that all ABR operands be identical in both steps, especially the TYPE= operand, except as noted below (actually, the second step fails if the TYPE= operand is different). The examples later in this chapter illustrate the changes required.
In the first step:
- Replace the operation name DUMP on the first ABR control statement with PSPLIT.
- Replace all TAPEx and TAPExx DD statements with a single TAPE1 DD DUMMY statement and a matching SYSPRIN1 DD statement. By default, ABR actually processes up to 10 volumes in parallel and dynamically allocates additional SYSPRINx and TAPEx DD statements using yours as a model. You can override the number of volumes processed concurrently by specifying the operand MAXTASKS=nn with values from 1 to 32.
- PSPLIT uses the default ENQ=RESERVE (instead of the usual ABR default of ENQ=ON) to protect the VTOC during the brief PSPLIT operation. We recommend the use of the operand DSNENQ=USE as well so that ABR can properly protect the data sets during the few moments necessary to create the point-in-time image. However, unlike normal ABR operations, where ABR will still backup a data set or volume even if DSNENQ= finds active data sets, PSPLIT will not create the point-in-time if it finds data sets in use, which will also cause the second step to fail trying to backup that image. You can override this by specifying the ENQERR=NO operand on the DUMP statement, or by adding statements such as:
SELECT DSN=dsname,DSNENQ=NONE
for data sets that you expect to be active at the time of the PSPLIT; this is supported even for PSPLIT TYPE=FDR.
- If the backup includes other volumes in other DASD subsystems, or volumes that you simply do not want to do a point-in-time backup, they should be omitted from this step, even though they can be included in the second step.
- You may need to make one more change to the first step. ABR can usually identify the UCB device number of the secondary ShadowImage volume assigned to the online volume serial number you provide. However, there are three circumstances where you may need to tell ABR the UCB device number of the ShadowImage device:
- The online and ShadowImage volumes are not in the same range of UCB device numbers. For example, the online volume is in a logical control unit with addresses x’17C0-17FF’ but the ShadowImage volume is in a LCU with addresses x’1840-187F’. ABR may still be able to identify the ShadowImage volume but it will take more time, so specifying the ShadowImage address will save time.
- If you have more than one ShadowImage volume or PPRC copy paired to the online volume, you must identify the ShadowImage volume by specifying PPRCUNIT=uuuu (where “uuuu” = UCB device number).
- If you are using TrueCopy, not ShadowImage, you must identify the address of the secondary volume by specifying PPRCUNIT=uuuu (where “uuuu” = UCB device number).
To identify the ShadowImage addresses, change the ABR input to something similar to:
MOUNT VOL=vvvvv1,PPRCUNIT=uuu1
MOUNT VOL=vvvvv2,PPRCUNIT=uuu2
with one MOUNT statement for every ShadowImage volume. You do not have to make the same change in the second step; it can continue to select volumes with MOUNT or DISKxxxx DD statements.
PSPLIT supports one additional operand: VERIFYVOLSER=YES verifies that each ShadowImage target volume currently has the same volume serial as the corresponding online source volume. This is true if the last use of the target was for a PSPLIT of this source volume, or if you have used ICKDSF to initialize the target volume. You may need to omit VERIFYVOLSER=YES on the first PSPLIT since the volume serial number may not match. VERIFYVOLSER=YES is used to verify that you are not accidentally overlaying a target volume used with another source volume.
In the second step:
- Add to the DUMP statement the operands:
- PPRC=USE – Tells ABR to read the offline copy of the online volume specified in JCL. ABR remembers the device address of the offline device most recently used as a target for a copy of each online volume. This should be used if you intend to pair the ShadowImage volume with a different online volume after the backup is complete.
- PPRC=(USE,RET) – Same as PPRC=USE, but at the end of backing up each volume, FDR will issue a request to the subsystem to re-establish the ShadowImage PPRC session.
- DSNENQ= and ENQ= are ignored by ABR when dumping point-in-time volume images, since these would prevent access to the online data sets and prevent changes to the online volume’s VTOC, not the offline point-in-time image. However, they are honored if you backup other non-point-in-time volumes in the same step.
Since the target volumes can hold only one point-in-time image at a time, you must be sure that another ESTPAIR is not done on the split ShadowImage volume before the second step moves the backup to tape. If you don't, the backup of the previous point-in-time image is lost.
If you have PSPLIT a number of volumes, and then executed a DUMP with PPRC=, but that DUMP step failed for some reason before processing all of the volumes, you can just resubmit the job. ABR bypasses the backup of any volume for which PSPLIT was done and the backup has already been moved to tape. However, if you have included in the DUMP step other volumes that are to be backed up normally (for example, volumes not capable of ShadowImage), they are backed up again by the restarted backup step.
Multiple systems
Although the PSPLIT step and the DUMP step can execute on different operating systems, FDRINSTANT for ABR requires that both systems must be able to access both the source and target volumes and a common ABR catalog. During the PSPLIT, ABR updates the online volume, the offline copy and the ABR catalog. During the DUMP, ABR must read the online volume, and update the offline copy and the ABR catalog.
It is not possible to PSPLIT a ShadowImage volume from one system and then do the ABR backup on another system (either another LPAR or a remote system) unless that system can address both DASD volumes and update the same ABR catalog. However, if you only need full-volume backups (no incremental backups), it is possible to do this outside of ABR with PGM=FDR backups; contact BMC Support for guidance.
FDRINSTANT ABR examples
These are examples of FDRINSTANT ABR usage with ShadowImage.
A STEPLIB DD statement may be required in FDRINSTANT steps if you have installed the product in a library other than your standard FDR program library.
If you are also licensed for FDRCRYPT, these backups can be encrypted. See FDRCRYPT-Backup-Encryption for details of the job changes required.
ABR Full Volume Backup
ShadowImage volumes have been assigned to the online payroll volumes PAYxxx; a previous one-time ESTPAIR has been issued to establish those pairings.
Step FULL1 splits each ShadowImage volume from its online volume to create point-in-time images and mark the backups as complete. It creates a new ABR backup generation and updates the online volume with information about each new backup. As soon as this step completes, the point-in-time backup is complete and updates to the online volume can resume. Although only one TAPE1 DD statement is present, the PSPLIT actually processes up to 10 volumes concurrently, to reduce processing time.
The SYSPRINT output of step FULL1 looks something like:
FDR305 TO OFFLINE UNIT=07C8 ,DSNAME=FDRABR.VPAY001.C1000300 ,FILE=0000,VOL=SER=PAY001
FDR306 PSPLIT SUCCESSFULLY COMPLETED
FDR304 ABR PSPLIT REQUEST FOR DDNAME=DISKONL2,VOL=SER=PAY002,UNIT=3390-3
FDR305 TO OFFLINE UNIT=07C9 ,DSNAME=FDRABR.VPAY002.C1000300 ,FILE=0000,VOL=SER=PAY002
FDR306 PSPLIT SUCCESSFULLY COMPLETED
FDR304 ABR PSPLIT REQUEST FOR DDNAME=DISKONL1,VOL=SER=PAY003,UNIT=3390-3
FDR305 TO OFFLINE UNIT=07CA ,DSNAME=FDRABR.VPAY003.C1000300 ,FILE=0000,VOL=SER=PAY003
FDR306 PSPLIT SUCCESSFULLY COMPLETED
The SYSPRINx output also contains a message to indicate that a PSPLIT was done:
The FDR304 message identifies this as a PSPLIT, and the FDR305 message identifies the ShadowImage target unit address (ABR queries the Hitachi subsystem to get the address of the ShadowImage volume currently associated with each online volume). It also shows the ABR backup data set name created, and that it was cataloged to the input volume.
Step FULL2 does the actual backups. PPRC=(USE,RET) tells ABR to determine if a split point-in-time image exists for each volume processed; if so, that image is backed up instead of the online volume. Volumes that have not been captured are processed normally. ENQ=ON (the default) and DSNENQ=USE are ignored when backing up from a point-in-time image.
//SYSPRINT DD SYSOUT=*
//SYSPRIN1 DD SYSOUT=*
//SYSPRIN2 DD SYSOUT=*
//FDRSUMM DD SYSOUT=*
//SYSUDUMP DD SYSOUT=*
//TAPE1 DD DSN=FDRABR.LASTAPE.ABR1,UNIT=CART,DISP=(MOD,KEEP),
// EXPDT=99000
//TAPE11 DD DSN=ABR1,UNIT=CART,DISP=(NEW,KEEP),RETPD=60
//TAPE2 DD DSN=FDRABR.LASTAPE.ABR2,UNIT=CART,DISP=(MOD,KEEP),
// EXPDT=99000
//TAPE22 DD DSN=ABR2,UNIT=CART,DISP=(NEW,KEEP),RETPD=60
//SYSIN DD *
DUMP TYPE=FDR,DSNENQ=USE,ENQERR=NO,PPRC=(USE,RET),RTC=YES
MOUNT VOL=PAY*
/*
The SYSPRINT output for step FULL2 is similar to:
FDR304 ABR DUMP REQUEST FOR DDNAME=DISKONL1,VOL=SER=PAY001,UNIT=3390-3
FDR305 TO TAPE DDNAME=TAPE1 ,DSNAME=FDRABR.VPAY001.C1000300 ,FILE=0005,VOL=SER=B10023
FDR305 TO TAPE DDNAME=TAPE11,DSNAME=FDRABR.VPAY001.C2000300 ,FILE=0001,VOL=SER=B15277
FDR218 FDRPPRC UNIT=07C2 WAS REESTABLISHED - MODE(RESYNC)
FDR232 FDRINST DISBANDED PATHS FROM OFFLINE UNIT=07C8
FDR306 DUMP SUCCESSFULLY COMPLETED
FDR219 FDR VOL=PAY002 IS BEING DUMPED FROM OFFLINE UNIT=07C9
FDR304 ABR DUMP REQUEST FOR DDNAME=DISKONL2,VOL=SER=PAY002,UNIT=3390-3
FDR305 TO TAPE DDNAME=TAPE2 ,DSNAME=FDRABR.VPAY002.C1000300 ,FILE=0012,VOL=SER=B10452
FDR305 TO TAPE DDNAME=TAPE22,DSNAME=FDRABR.VPAY002.C2000300 ,FILE=0001,VOL=SER=B15600
FDR218 FDRPPRC UNIT=07C3 WAS REESTABLISHED - MODE(RESYNC)
FDR232 FDRINST DISBANDED PATHS FROM OFFLINE UNIT=07C9
FDR219 FDR VOL=PAY003 IS BEING DUMPED FROM OFFLINE UNIT=07CA
FDR304 FDR DUMP REQUEST FOR DDNAME=DISKONL1,VOL=SER=PAY003,UNIT=3390-3
FDR305 TO TAPE DDNAME=TAPE1 ,DSNAME=FDRABR.VPAY003.C1000300 ,FILE=0006,VOL=SER=B10023
FDR305 TO TAPE DDNAME=TAPE11,DSNAME=FDRABR.VPAY003.C2000300 ,FILE=0002,VOL=SER=B15277
FDR218 FDRPPRC UNIT=07C4 WAS REESTABLISHED - MODE(RESYNC)
FDR232 FDRINST DISBANDED PATHS FROM OFFLINE UNIT=07CA
FDR306 DUMP SUCCESSFULLY COMPLETED
FDR224 FDR VOL=PAY004 IS BEING DUMPED FROM ONLINE UNIT BECAUSE SNAP/SPLIT WAS NOT ATTEMPTED
FDR304 ABR DUMP REQUEST FOR DDNAME=DISKONL2,VOL=SER=PAY004,UNIT=3390-3
FDR305 TO TAPE DDNAME=TAPE2 ,DSNAME=FDRABR.VPAY004.C1000300 ,FILE=0013,VOL=SER=B10452
FDR305 TO TAPE DDNAME=TAPE22,DSNAME=FDRABR.VPAY004.C2000300 ,FILE=0002,VOL=SER=B15600
FDR306 DUMP SUCCESSFULLY COMPLETED
FDR219 messages indicate that a previously created point-in-time image was found for the volume being dumped. FDR305 messages show the actual location of the backup data sets. FDR218 messages indicate that the RET option caused ABR to RE-ESTABLISH the ShadowImage volume as an active mirror of its online volume, ready to do the next backup.
In this example, volume PAY004 has no ShadowImage volume. The FDR224 message indicates that there is no point-in-time image of the volume so that a normal ABR backup was done. If you intended to do point-in-time backups all of the volumes in this backup, you must do a TSO CESTPAIR or ICKDSF PPRCOPY ESTPAIR for PAY004 and insure that the FULL1 step includes it; otherwise the backup from PAY004 is not taken at the same point-in-time as the other volumes. If you have no need to do point-in-time backup on PAY004, you can ignore the message. So, you can include in this ABR step volumes that have no point-in-time requirements; they are backed up normally.
ABR incremental backup example
The ShadowImage volumes at addresses 01F2 and 01F3 are assigned to online volumes CICS01 and CICS02. A previous one-time ESTPAIR has been issued to establish those pairings.
Step INCR1 splits each ShadowImage volume from its online volume to creates a point-in-time image and mark the backup as complete. It creates a new ABR backup cycle and updates the online volume with information about the new backup. As soon as this step completes, the point-in-time backup is complete and updates to the online volume can resume.
Step INCR2 does the actual backups. PPRC=(USE,RET) tells ABR to determine if a split point-in-time image exists for each volume processed; if so, that image is backed up instead of the online volume. Volumes that have not been captured are processed normally. ENQ=ON (the default) and DSNENQ=USE are ignored when backing up from a point-in-time image.
For examples of messages and other notes, see ABR Full Volume Backup in ShadowImage for ABR.
ABR restore example
If it is necessary to do a full-volume restore of one of the volumes involved in the point-in-time backup before the backup is moved to tape, ABR does it automatically. No special parameters or JCL is required. ABR restores from the point-in-time image or from tape automatically.
For example, this restores the four volumes in the previous full-volume backup example:
Volumes PAY001-003 are restored from the point-in-time images on the ShadowImage volumes unless they have been moved to tape. Volume PAY004, since it has no point-in-time image, is always restored from tape.
This example performs data set restores of the most recent backups of the selected data sets.
If the most recent backup of either data set is on a ShadowImage that has not yet been moved to tape, ABR automatically copies it back from the ShadowImage to the online volume, otherwise it restores from the backup tape.
However, there are some considerations:
- The point-in-time volume image is always a full-volume image, even if an incremental backup was done. If ABR discovers that the first ABR backup cycle to be restored is a point-in-time image, it simply copies the entire volume back to the target online volume and does not need to read any further backups from tape. Since full-volume restores typically start with the most recent backup of the volume, this provides the fastest recovery.
- But if the most recent ABR backup cycle is on tape, but another lower-numbered cycle is a point-in-time image, ABR bypasses restoring from that image (with a message); any data sets whose most recent backup was on that image may be corrupted or back-leveled. This could occur if you did a PSPLIT to create a cycle but never did a DUMP to move it to tape, and followed that with a regular ABR backup direct to tape. This is not normal and should not occur if your FDRINSTANT procedures are setup correctly.
- If you are restoring to a volume other than the original volume (NVOL= on the SELECT statement) and the target volume is not in the same DASD subsystem as the point-in-time image, ABR does a normal disk-to-disk copy to copy all tracks in the image to that volume.
If ABR attempts to restore from a point-in-time image (ABR backup data set cataloged to the original volume), but that image no longer exists, ABR bypasses that backup. If it was an incremental backup, it restores the rest of the cycles in that generation. If it was a full-volume backup (cycle 00), the restore fails (you can uncatalog the backup or specify GEN= and CYCLE= to restore from an earlier generation). This can occur if multiple PSPLIT operations were done without an intervening DUMP to move the backup to tape. It can also occur at a disaster site if the restored ABR catalog is not consistent with the tapes that were brought off-site (some backup entries still indicate the point-in-time backup).