Forward recovery


If a DASD error has caused the loss of a VSAM file or made the file unreadable, you can use the forward recovery process to rebuild the lost or damaged file. You can also use forward recovery to recover a file forward to a point in time, such as the completion of a particular job. The forward recovery process uses the after-image journal records to rebuild the file and will use a backup as required.

The RUV Batch Journaling Facility can perform backout recovery automatically if a program abend occurs. For more information, see Using-the-Batch-Journaling-Facility.

This topic contains the following information:

New data set name recovery

RUV can forward recover a VSAM file to a new data set name. You can test and audit your RUV restoration and recovery environment prior to actual production.

Automated forward recovery

If you use RUV to perform backups, RUV can automate every element of the recovery process, including restoring the backups and determining the start timestamps (if it does a restore) and stop timestamps of the range of records to use for the recovery.

The normal construction of the start and stop timestamps is internal to RUV. A backup (if used, as registered in the repository) contains and controls the start time needed for selecting the correct archive files. Because RUV manages all backups and archives in the repository, for a typical recovery you do not supply a stop time, but you must supply a backup or a start time.

RUV forward recovers a VSAM file automatically if you specify the BACKUP_IN(CURRENT_BACKUP) keyword.

Manual forward recovery

If you use a product other than RUV or SMS to perform backups, you must manually restore the backup file and provide RUV with the start time of the backup. RUV may automatically restore RUV backups during a recovery. RUV automatically picks the start time to select the necessary archive files for the recovery process if it restores a backup. Alternatively, you can provide the DSNs of the archive files you want to recover.

You can also supply start and stop timestamps to recover a file to a particular point in time, such as to synchronize with a database management system.

Start timestamp generation

If you do not provide a start timestamp, RUV generates one from data in the repository or sets the value to the default value, which is low values (X'0000000000000000').

To generate the timestamp from data in the repository, RUV finds the earliest timestamp for a forward recovery record associated with a specific VSAM file and uses its timestamp. However, if the forward recovery process needs to restore a backup, RUV resets the specified start time to the start time of the restored backup (to preserve data integrity).

If you need to use a particular time range or want to override any RUV time-range calculations, first restore the file manually and then perform the recovery.

Stop timestamp generation

If you do not provide a stop timestamp, RUV recovers the file to the current time. If you provide a stop timestamp for the recovery, RUV bypasses its normal process of constructing a stop timestamp.

Forward recovery with Record Level Sharing

RUV can perform forward recovery of VSAM files that use the VSAM Record Level Sharing (RLS) feature. During the recovery operation, RUV can interact with the sharing control data set (SHCDS) to release (and later reapply) the retained locks that are held for individual records. To enable this function, use the RLS_RECOVER_PROTECTION keyword and establish UPDATE authority with your security package (such as RACF). For details, see Using-the-RLS_RECOVER_PROTECTION-keyword.

IDCAMS Delete/Define operations

You can perform the IDCAMS delete/define operations in separate steps from the RUV restore process, or you can use the ENTER_IDCAMS and EXIT_IDCAMS commands to perform the delete/define operations in the same job step with the restore. For more information, see Invoking-IDCAMS-from-a-RUV-job-step.

RUV actions for forward recovery

The actions that RUV takes for a forward recovery depend on several conditions. See the following table:

Conditions Specified

 VSAM File

Archive

Backup

Exists

Does Not Exist

Yes

Yes

  • Use specified archive/backup
  • Delete/Define/Restore
  • Recover
  • Build AIXs 1 if required
  • Use specified archive/backup
  • Define/Restore/Recover
  • Build AIXs 1 if required

Yes

No

  • You restore VSAM file
  • Use specified archive
  • Recover
  • Get/Use backup and correct archive information from repository (this may ignore specified archive)
  • Define/Restore/Recover
  • Build AIXs 1 if required

No

Yes

  • Use specified backup
  • Use archives selected from repository, using the time of the backup as START_TIME
  • Delete/Define/Restore/Recover
  • Build AIXs 1 if required
  • If no archives exist, this is a restore with no recovery
  • Use specified backup
  • Use archives selected from repository, using the time of the backup as START_TIME
  • Define/Restore/Recover
  • Build AIXs 1 if required
  • If no archives exist, this is a restore with no recovery

No

No

  • You restored the VSAM file and must provide the START_TIME parameter
  • Use repository archive information
  • Recover
  • If no archives exist, this is a restore with no recovery
  • Get backup and archive information from repository
  • Define / Restore / Recover

 1 If the NEW_NAME parameter is specified, AIXs are not rebuilt automatically unless the NEW_NAME files have been created prior to use by the RECOVER command.

Note

When the command uses the ddname, RUV performs no dynamic allocation. The GDG specification is allowed only in JCL and not within any commands.


 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*