IMS Base (TSR to IC)
With TR, it is necessary to create an RP that is consistent for the databases being recovered. An RP is a
period of time when the database is not allocated. Generally, the
ALLOC records in the RECON data set can be analyzed to determine
periods of time when the database is not allocated. An RP can be
created for a database by taking it offline with a
/DBR command or the
UPDATE DB STOP(ACCESS) command
or with a
/DBD command or
UPDATE DB STOP(UPDATES) command. In IMS 11, the
QUIESCE function provided the ability to create an RP without taking
the database data sets offline. This function is provided by the
UPDATE DB START(QUIESCE) command, and it allows transaction activity to
be paused at commit points. In the RECON data set, these DB QUIESCE
RPs are indicated with ALLOC records that have been
updated with a DEALLOC time and the QUIESCE flag turned on. A new
ALLOC record will be written when the database data set is updated
again after the DB QUIESCE recovery point.
For this first TR solution, we use
DB QUIESCE with the
HOLD option to pause transaction activity
at commit points, and we hold
onto the QUIESCE until the Clean Image Copy is created. Then we
explicitly release the DB QUIESCE with an
DB STOP(QUIESCE) command. The image copy is registered as a Batch Image Copy in the
RECON data set. The RECON data set is backed up and transmitted to the
remote site with the image copies.
In Figure 1, the
DB QUIESCE command is shown, followed by a clean image copy and backup of the RECON data
Figure 1. Create Clean Image Copies using DB QUIESCE and Backup of RECON Data Set
At the remote site, the backup copy of the RECON data set must be conditioned before it can be used for recovery. When the backup RECON was created, it showed a primary system that was up and running and healthy. The conditioning will change the RECON data set to reflect that a disaster has occurred and IMS was abnormally terminated.
The first step is to delete the IMS subsystems that were active at the
time the RECON was created. A
LIST.SUBSYS DBRC command will show which
IMS subsystems were active and then a series of commands are required
to flag each subsystem as abnormally terminated.
Listing 1. Commands to flag subsystems as abnormally terminated
CHANGE.SUBSYS SSID(ssidname) ABNORMAL CHANGE.SUBSYS SSID(ssidname) STARTRCV CHANGE.SUBSYS SSID(ssidname) ENDRECOV DELETE.SUBSYS SSID(ssidname)
By deleting the IMS subsystems records, it is no longer possible to emergency restart the IMS systems at the remote site. For this solution, this is not a problem because the recoveries are to RPs created by clean image copies, and dynamic back-out is not required for any uncommitted updates.
The second conditioning step is to flag the primary image copies as
invalid. This is only necessary if dual image copies are being created
at the primary site and only the secondary image copy is being
transmitted to the remote site. It is common to use dual image
copies in this way. The command for this is
CHANGE.IC DBD(dbname) DDN(ddname) INVALID.
Once this initial RECON conditioning has been done, the
command can be issued to create the DBRC recovery JCL, and the
resulting jobs can be executed. The timestamp used with GENJCL.RECOV
is the image copy runtime.
The final conditioning step before IMS is cold-started is to close and
archive the open log data sets in the RECON data set. The Online Log
Data Set (OLDS) data
sets are not transmitted to the remote site, but at the time the
backup RECON was created, it would have showed an active OLDS data
set. To close and archive the data set, an empty OLDS data set must be
allocated, and the active OLDS in the RECON must be flagged for
archiving. The archive utility will not care that the OLDS is empty
and it will archive it appropriately. As a result the PRILOG, PRISLD,
and PRIOLD records in the RECON will change from having all zeros in
the stop times to having valid timestamps. The command to identify the
active OLDS for this is
After the OLDS is allocated, the command to notify the RECON that the
OLDS needs archiving is
SSID(newssid) -STARTIME(start) … RUNTIME(start+1).
These RECON conditioning steps at the remote site are shown in Figure 2. After these steps have been completed, conditioned RECON data set is restored to the production RECON and used to restart the IMS subsystems with a cold start.
Figure 2. Manually condition the RECON data set