Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved


Chapter 8 Recovery Procedures : Point in Time Recovery

Point in Time Recovery
This type of full recovery is typically required to remove programming type errors that applied updates against a segments.
Performing a point in time recovery can create inconsistencies in a distributed data environment. You must recover other data nodes to the same point to which you recover the affected segments. In addition, recovering one local segment to a specific point can cause inconsistencies in other local segments. For example, since table definitions are stored in the MetaStor (segment 0), table deletes or adds that affect other segments would also require recovery of segment 0.
Procedure
These are the tasks required to perform a successful point in time recovery:
These steps are discussed in the following sections.
 
Task A Develop a Continuous Backup Strategy
A continuous backup strategy is required to retain all updated copies of journaled page images over a limited period of time. Point in time recovery requires that all updated page images be retained for the entire window of recovery. Depending on the frequency of updates and the length of the supported recovery window, the amount of recovery journal data can grow to a significant volume. Therefore, the length of the recovery window must reflect a balance between keeping the volume of historical recovery data to a manageable size and providing for a large enough recovery period to be useful. For more information on developing a continuous backup, refer to Using the Continuous Backup Approach.
You must implement SORT exit S6BSPU35 rather than S6BSPX35 in all SPINMRG and BKUPCON jobs in your continuous backup. S6BSPU35 retains all non-identical page images, while S6BSPX35 retains only the latest image of each page based on date, time, and checkpoint number of the page. For more information, refer to Deciding How Much To Restore.
Task B Cleanse BACKUP File Images
This step is necessary to provide a base to continually collect ongoing duplicate page images for point in time recovery. Cleansing the BACKUP file can be accomplished with a special sort using S6BSPX35 or by using the S6BTLSRP (Select Recovery Pages) utility specifying a recovery date of the current runtime.
Task C Vary Segments Offline or Shut Down Data Object Broker
When a recovery is required, the affected segments must be varied offline or the Data Object Broker terminated with a controlled shutdown. If a DASD failure hits various files, you must recover the Data Object Broker using the procedures for various data set failures. Refer to Recovering From Non-Page Data Set Failures for more information. After a successful Data Object Broker recovery, vary the segments to be recovered offline and spin the active journals to flush out any pending updates to the segments.
When a segment is recovered to a certain point, any previously journaled updated pages that were created after the point to which the recovery is performed must be removed from the continuous backup process. Failure to do so can result in corrupted Pagestores if invalid pages are used for subsequent recovery.
All online segments at the time of termination or error condition are candidates for recovery and should be checked afterwards with the S6BBRPTR (Batch Pointer Check) utility for consistency.
Task D Consolidate Latest Backup Page Images
After varying the segments to be recovered offline or successfully shutting down the Data Object Broker, ensure that the journal data sets are spun and consolidated into the backup cycle. This is accomplished by submitting jobs SPIN01, SPIN02, SPINMRG, and BKUPCON.
You must modify the INCLUDE SORT statements in BKUPCON to remove journal records for segments you do not wish to recover. The example below selects pages for Segment 1 only and the resultant file will be a back up of only that segment.
 
INCLUDE COND=(6,1,BI,EQ,X'01')
You must also modify the S6BBRPTR (Batch Pointer Check) step for the required segment.
Task E Input the BACKUP File from the Previous Step into the S6BTLSRP (Select Recovery Pages) utility
Specify the parameter ‘DATE=YYYYMMMDD,TIME=HHMMSS’ to the S6BTLSRP utility, identifying the time up to which you want to restore your segments. The time selected should match the end of a checkpoint. Use the message S6BKX052L (end checkpoint) produced by the Data Object Broker for determining appropriate timestamps for recovery.
Task F Verify Validity of the EXTRACT File
Run the S6BBRPTR (Batch Pointer Check) utility to verify the validity of the EXTRACT file produced by the S6BTLSRP utility for each affected segment.
Task G Perform Recovery Using the S6BTLRPS (Restore TDS Segment) Utility
If the EXTRACT file is clean, use it in the S6BTLRPS utility to perform the point in time recovery. Ensure that all pages updated by the Data Object Broker subsequent to the point of recovery are rewritten with previously timestamped updated page images. The recovered segments must not contain any pages updated beyond the recovered point in time. This can best be accomplished by performing a DELETE and FORMAT of the affected segments prior to the restore with the S6BTLRPS utility.
Task H Perform a Backup and Pointer Check
After the segments are restored, perform a backup and pointer check using the S6BBRPTR utility to ensure that the recovery is successful. The results should match the output from Task F, Verify Validity of the EXTRACT File.
Task I Use the BACKUP File as the Basis for Next Recovery Cycle
The BACKUP file output from step 8 can be used as the basis for the next point in time recovery cycle. You must ensure that no previously journaled page images with timestamps after the time of recovery remain in your continuous backup cycle. If any such page image remains in your backup cycle, page corruptions occur if the BACKUP file is used for subsequent recovery operations.
Task J Vary the Segments Online or Restart the Data Object Broker
If the output from step 8 is clean, vary the segments recovered back online to the Data Object Broker. If the Data Object Broker was shut down, restart the Data Object Broker.

Copyright © Cloud Software Group, Inc. All Rights Reserved
Copyright © Cloud Software Group, Inc. All Rights Reserved