Optimizing self-healing performance

Usually application programs with update authority commit frequently. This is good programming practice.

Occasionally, an application program that is allowed to do updates does not actually do them. For example, a program with a PCB specifying PROCOPT=A might only read. In this case, it might not commit frequently. Because it only reads, it never holds many locks. This could change with the implementation of HALDB. If the program runs in a block level data sharing environment and invokes the healing process, it will hold block locks until they are committed. This could cause two problems. First, it might hold the locks for a long time and cause other programs to wait before they can update the blocks. Second, it could hold many locks. This could cause a storage shortage in the IRLM or a lock structure.

If you have a program that holds locks for a long time or that holds many locks when performing the self-healing pointer process, you have four options:

  • If the application program does not make updates, use PROCOPT=G.
  • Have your program commit frequently.
  • Invoke the pointer healing process before you run application programs that use PROCOPT=A, but do not do any updates. Run another program or utility before this type of application program. The HALDB Conversion and Maintenance Aid tool supplies a pointer healing utility.
  • Rebuild secondary indexes with an index builder, such as the IMS Index Builder for z/OS®. The IMS Index Builder for z/OS creates EPSs with accurate RBAs.

This scenario is not common. Most users can let the pointer healing process occur without taking any special precautions.

Recommendation: Do not rebuild your secondary indexes after a reorganization. Let the self-healing process of HALDB correct the pointers. This shortens the outage for reorganizations and tends to minimize the use of resources.

Related Reading:

  • For more information about the IMS High Availability Large Database Conversion and Maintenance Aid, see the IMS High Availability Large Database Conversion and Maintenance Aid for z/OS User's Guide.
  • For more information about the IMS Index Builder, see the IMS Index Builder for z/OS User's Guide.