Recovering a PHIDAM database in a data sharing environment

The following steps are an example of a full forward recovery of a PHIDAM database that has two partitions and a partitioned secondary index (PSINDEX). The PHIDAM database is shared by multiple IMS systems.

Image copies of the database data sets must be available.

The PHIDAM database data sets must be registered as members of a DBRC change accumulation group.

The database uses OSAM for its database data sets; however, database data sets can be OSAM or VSAM. Primary and secondary indexes are always VSAM. The database is registered to DBRC and operates in an online environment. The database is shared by multiple IMS systems. Because the database is shared, an accumulation of the database changes recorded in the logs is required.

In a full recovery, recovering secondary indexes is not required, so in following example procedure, the steps for recovering the secondary index are optional.

However, for the IMS catalog, which is a HALDB PHIDAM database, recovering secondary index is required.

IMS provides a skeletal JCL member, DSPUPJCL, for rebuilding the index or indirect list data sets (ILDS) for HALDB partitions.

To recover a PHIDAM database:

Procedure

  1. If any OLDS contains database change records that are required for recovery, issue the DBRC command GENJCL.ARCHIVE to generate the necessary JCL to run the Log Archive utility (DFSUARC0).

    If the DBRC JCLOUT DD statement for the GENJCL output is directed to the internal reader, the archive jobs are automatically started.

  2. If the archive jobs are not automatically started, run the Log Archive utility on each sharing IMS system that has unarchived records in the OLDS. The Log Archive utility archives the records in the OLDS to an SLDS.
  3. Run the GENJCL.CA command to merge the logs from the IMS systems in to the latest CA.
  4. Delete and define the OSAM database data sets.
  5. Issue the GENJCL.RECOV command to generate all of the required JCL for recovery of the PHIDAM database. The JCL identifies the correct image copies to use, the correct logs, the correct change accumulation data set, the correct ddnames, and the correct time stamps.
  6. Run the Database Recovery utility (DFSURDB0) on the database by executing the JCL that is generated by the GENJCL.RECOV command. The Database Recovery utility recovers the database data sets from the image copies and the database changes that are recorded in the logs.
  7. Delete and define both the primary index data set and the ILDS.
  8. Run the HALDB Index/ILDS Rebuild utility (DFSPREC0) to rebuild both the primary index and the ILDS in each partition.

    Specify BOTHF to select the free space option of the HALDB Index/ILDS Rebuild utility. The free space option uses VSAM load mode to include the free space called for in the FREESPACE parameter of the DEFINE CLUSTER command.

    The HALDB Index/ILDS Rebuild utility rebuilds the primary index data sets and the ILDS of one partition at a time; however, you can run multiple instances of the utility on multiple partitions in parallel.

  9. Optionally, delete and define secondary index VSAM KSDS data sets.
  10. Optionally, recover the PSINDEXes by either:
    • Using the same forward recovery steps that you use to recover PHIDAM DBDSs.
    • Rebuilding the secondary indexes by using a separately sold index builder tool.