Restoring a database that uses logical relationships

To restore logically related databases, you use the normal utilities for resolving logical relationships as part of a reorganization of a non-HALDB database.

You can use the following utilities:

  • Database Prereorganization utility (DFSURPR0)
  • Database Prefix Resolution utility (DFSURG10)
  • Database Prefix Update utility (DFSURGP0)

If your non-HALDB databases used virtual pairing, you probably converted the virtual pairing to physical pairing when you converted the logically related databases to HALDB, because HALDB does not support virtual pairing. Unfortunately, you cannot restore virtual pairing as part of the fallback process. The DBD statements for the non-HALDB database you are restoring must include the definitions for physical pairing. Moreover, the additional space that physically paired segments require can prevent you from being able to fall back.

To restore virtual pairing after a fallback, complete the following steps:

Procedure

  1. Perform a fallback on current physically paired databases.
  2. Reorganize the current database.
  3. Change the logical relationship to virtually paired databases.

Logical child segments have special considerations in the fallback process. Non-HALDB IMS databases offer a virtual key storage option that does not store the concatenated key of the logical parent in the logical child; in normal retrieval, the key is built and the user application has access to the concatenated key in the data. For all logical child segments that are unloaded, you must drop the logical parent's concatenated key if you choose the virtual key storage option. The unloaded segments are reloaded as real segments that are part of a physically paired relationship. An unload drops the logical parent's concatenated key only when the HD Reorganization Unload utility (DFSURGU0) performs a fallback unload.

You cannot restore the database from physical pairing directly to virtual pairing and preserve the logical sequence of the virtual logical child.