Forward recovery and the RBA0 backup detection feature


You can recover a VSAM file across RBA0 backups. The following sections describe the actions that RUV takes during forward recovery if you are using the RBA0 backup detection feature. The actions depend on the keywords that you specify on the RECOVER FORWARD command.

If an RBA0 backup is selected for restore or recovery, the VSAM file is deleted and defined (making the file empty), and any archive records that were written since the backup are applied.

Summary of forward recovery actions

The following figure summarizes the actions that RUV takes during forward recovery. If you do not specify the START_TIME keyword, RUV initially sets the start time to the start time of the earliest record. If you do not specify the STOP_TIME keyword, RUV initially sets the stop time to the current time.

Summary of Forward Recovery Actions.png

Current backup specified

If the RECOVER FORWARD command specifies the current (latest or most recent) backup with the default BACKUP_IN(CURRENT_BACKUP) keyword, RUV always selects the latest backup, regardless of whether it is an RBA0 backup or other type of backup.

Backup data set name specified

If the RECOVER FORWARD command specifies the data set name of a backup with the BACKUP_IN(dsn44) keyword, RUV takes action as follows:

  • If no RBA0 backup has occurred in the time frame after the specified backup and before the target recovery time, RUV selects the specified backup.
  • If one or more RBA0 backups have occurred in the time frame after the specified backup and before the target recovery time, RUV selects the latest RBA0 backup that has occurred within that time frame.

Recovery time specified with no archives or backups specified

If the RECOVER FORWARD command specifies a target recovery time frame (with the START_TIME keyword, the STOP_TIME keyword, or both), but it does not specify an input archive (with the ARCHIVE_IN keyword) or an input backup (with the BACKUP_IN keyword), RUV takes action as follows:

  • If the data set to be recovered does not exist, RUV selects the latest backup that has occurred within the specified time frame. It adjusts the START_TIME value to the time of the selected backup. RUV performs a delete/define of the VSAM file from the information that is stored in the repository, and then performs the restore or recovery.
  • If the data set to be recovered exists, RUV selects the latest backup that has occurred within that time frame. If an RBA0 backup is selected, RUV performs a delete/define operation for the file and uses operating system catalog information. RUV adjusts the START_TIME value to the time of the backup.

Recovery time and archives specified with no backups specified

If the RECOVER FORWARD command specifies a target recovery time frame (with the START_TIME keyword, the STOP_TIME keyword, or both), and it specifies one or more input archives (with the ARCHIVE_IN keyword), but it does not specify an input backup (with the BACKUP_IN keyword), RUV takes action as follows:

  • If the data set to be recovered does not exist, RUV selects the latest backup (regardless of whether it is an RBA0 backup or other type of backup) that has occurred within the specified time frame. It adjusts the START_TIME value to the time of the selected backup, restores the file from the backup, and applies archive records (from the specified archives) that have times within the adjusted time frame.
  • If the data set to be recovered exists but the archives are not registered in the repository, RUV does not attempt to select and restore any type of backup. It applies archive records (from the specified archives) that have times within the specified time frame.
  • If the data set to be recovered exists and the archives are registered, RUV examines the specified archives to find the start time and stop time of each data set to be recovered (as specified with the VSAM_FILE keyword). It adjusts the START_TIME value and the STOP_TIME value to the start time and stop time from the archives. If one or more RBA0 backups have occurred within this adjusted time frame, RUV ignores any other types of backups and selects the latest RBA0 backup that occurred during this time frame. RUV adjusts the START_TIME value to the time of the RBA0 backup and restores the file from the RBA0 backup. Then RUV applies archive records (from the specified archives) that have times within the readjusted time frame. It also issues an informational message with condition code 0.

Archives specified with no recovery time or backups specified

If the RECOVER FORWARD command specifies one or more input archives (with the ARCHIVE_IN keyword), but it does not specify a target recovery time (with the START_TIME keyword, the STOP_TIME keyword, or both) or an input backup (with the BACKUP_IN keyword), RUV takes action as follows:

  • If the data set to be recovered does not exist, RUV selects the latest backup (regardless of whether it is an RBA0 backup or other type of backup). RUV adjusts the START_TIME value to the time of the selected backup, restores the file from the backup, and applies archive records (from the specified archives) that have times within the adjusted time frame.
  • If the data set to be recovered exists but the archives are not registered in the repository, RUV does not attempt to select any type of backup. It applies all archive records (from the specified archives).
  • If the data set to be recovered exists and the archives are registered, RUV examines the specified archives to find the start time and stop time of each data set to be recovered (as specified with the VSAM_FILE keyword). It adjusts the START_TIME value and the STOP_TIME value to the start time and stop time from the archives. If one or more RBA0 backups have occurred within this adjusted time frame, RUV ignores any other types of backups and selects the latest RBA0 backup that occurred during this time frame. RUV adjusts the START_TIME value to the time of the RBA0 backup and restores the file from the RBA0 backup. Then RUV applies archive records (from the specified archives) that have times within the readjusted time frame. It also issues an informational message with condition code 0.



 

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

BMC AMI Recovery for VSAM 4.1