We are looking at the use of hot backups (CAL2JCL memberAL2DBHOT) and how this works when using Datacom/AD Forward Recovery processing. We have reviewed Knowledge Base article 18722, titled "Overview of Datacom Forward and Backward Recovery" and Knowledge Base article 96542, titled "CA Workload Automation CA 7 Edition r12.0/12.1 Hot and Stable Backup and Recovery Procedures," but still have some other questions about this process.
Release : 15.1
Component : Datacom/AD
Component : CA Workload Automation CA 7 Edition
First, the concept of data recovery for applications using Datacom/AD involves both the physical backup of the data areas at some point in time prior to an event, and the use of the Log File (LXX) and Recovery Files (RXX) to apply all the updates forward from the time of the backup to the time of the event. For your question about the rolled-back LUWs, every update is kept on the LXX with a before and after image and is maintained in a time-based sequence. Therefore if a table update is made and then rolled back, and then another update is made, the LXX has them in this sequence, and when doing a recovery, it will apply them to the database in that same sequence.
Under normal conditions, you will not need to deal with a Forward Recovery. This utility is used if you have a system failure (LPAR crash), a hardware failure (like a disk crash), or if something unusual happens in processing like running a major update set of jobs twice instead of once. These are all catastrophic events, and you would use a backup file together with the RXX (Recovery files) to restore your database to the desired point. Now, if for some reason your MUF fails during processing, we have the option for a Shadow MUF on another LPAR to assume control, and it picks up when the Primary MUF that you are using fails so that your application processing is not interrupted. If you do not use a Shadow MUF, once you resolve the problem that caused the MUF failure, restart the MUF and any in-flight transactions are automatically reprocessed without concern.
In your normal processing, you will run with application updates taking place throughout the day. Every add, change, or delete made to tables that are set up to support recovery is logged in the LXX (Logging Area). When the file reaches a certain point, all eligible records are dumped in an orderly fashion to the RXX. This spill process should happen through your automation routines, triggered by specific console messages. In your DBUTLTY Spill job, we would recommend you use this as the first input statement before the SPILL command:
COMM OPTION=CONSOLE,OPTION2='WRITE_PENDS_LOG_STABLE'
This will ensure that the greatest number of LXX records that can be spilled is processed, with the result being a much quicker restart if your MUF fails.
Now, let's consider the case where your system fails due to a CPU or hardware failure and you need to recover your database. Once the system has restarted and your MUF has restarted and before starting your application, you will perform the following steps to recover your database.
So for your questions:
In general, using the SEQ=PHYSICAL backup allows a hot backup to be taken quickly and without application interruption. Then, using the backup along with the RXX files, it is possible to recover the database completely and correctly to the desired point in time.
For more information about Forward or Backward recovery, please see the Datacom Core documentation:
Datacom/DB Database and System Administration section "Using Recovery"
Datacom/DB DBUTLTY Reference section "RECOVERY (Rebuild a Database)"
Also see the Knowledge Base articles mentioned in the introduction:
Knowledge Base article 18722, titled "Overview of Datacom Forward and Backward Recovery"
Knowledge Base article 96542, titled "CA Workload Automation CA 7 Edition r12.0/12.1 Hot and Stable Backup and Recovery Procedures"
As always, please contact Broadcom support for Datacom if you have further questions.