Idea Details

Support wild carding VOLUMES=ABC/ in VRECOVER

Last activity 05-31-2019 03:52 PM
Dirk Reffke's profile image
11-12-2015 05:20 AM

The customer is looking for a method to Backup and Recover Volumes for Disaster Recovery.

The syntax used for the Backup should have a 1 to 1 relationship to their Disaster Recovery jobs.

They do not want to explicitly code each and every volser for volume recovery,

while volume pools and wild carding is supported for volume backup.

 

At first, they tried to accomplish this using CA Allocate VAMPOOLs.

But although the DMS proc allows SELECT VAMPOOL=(vampool),VTOCS for BACKUP,

the corresponding processing is not supported with FMS RECOVER, for example:

neither SELECT VTOCS,CRI=(VAMPOOL,EQ,<vampool>), nor SELECT VTOCS,VAMPOOL=(vampool) is supported.

We opened a corresponding idea for this:

"Support FMS RECOVER by CA Allocate VAMPOOL", see https://communities.ca.com/ideas/235726771

 

Current problem:

As an alternative, the customer tries to use VBACKUP and VRECOVER.

For Volume Backups, he can code for example:

SCAN REALVOLS,SHOWVOL

SELECT VOLUMES=(ABC/)

VBACKUP

 

But again, the corresponding syntax for the Volume Recover is not supported:

VRECOVER VOLUMES=ABC/

You can not specify generic volume names in VRECOVER (wild carding).

Therefore we ask to "Support wild carding VOLUMES=ABC/ in VRECOVER".

 

Workaround:

The VBACKUP creates a special DSNINDEX record for each volume ****** backed up.

It contains the volser in the data set name field of the DSNINDEX record: DMSOS.Vxxxxxx

So you can list all volume backups by a LISTD DSN=DMSOS.V/,FIELDS=(DSNAM,ARCDT,ATIME)

Then you could select from this report for example all ABC/ volumes and generate

the corresponding VRECOVER commands via SORT:

 

/*-------------------------------------------------------------------

//LISTD  EXEC LISTD

//SYSPRINT DD DSN=ABC.LISTD.OUT,

//            DISP=(NEW,CATLG),UNIT=SYSDA,

//            SPACE=(CYL,(1,1),RLSE),

//            DCB=(RECFM=FB,LRECL=133,BLKSIZE=0)

//SYSIN    DD *

  LISTD DSN=DMSOS.V/,

  FIELDS=(DSNAM,ARCDT,ATIME)

//*-------------------------------------------------------------------

//SORT   EXEC PGM=SORT,REGION=5M

//SYSOUT   DD SYSOUT=*

//SORTIN   DD DSN=ABC.LISTD.OUT,DISP=SHR

//SORTOUT  DD DSN=ABC.LISTD.CMDS,

//            DISP=(NEW,CATLG),UNIT=SYSDA,

//            SPACE=(CYL,(1,1),RLSE),

//            DCB=(RECFM=FB,LRECL=80,BLKSIZE=4000)                        

//SORTIN   DD *

  SORT FIELDS=COPY

*                                 SELECT VBACKUP DSINDEX RECORDS

  INCLUDE COND=(02,7,CH,EQ,C'DMSOS.V',

*                                 SELECT ALL ABC/ VOLUMES

            AND,09,3,CH,EQ,C'ABC')

*                                 GENERATE VRECOVER COMMAND

  OUTREC FIELDS=(C' VRECOVER VOLUMES=',9,6,C',GOAHEAD=CONTINUE',80:X)

//*-------------------------------------------------------------------