Understanding Db2 for z/OS Administration

This section discusses these topics on concurrency:

  • CursorHold

  • Isolation levels and CURRENTDATA

  • RELCURHL

CursorHold

For PeopleTools, the use of Cursor With Hold (persistent cursors) with PeopleSoft applications is controlled entirely by PeopleTools. Consequently, there is no reason to use anything other than the IBM default for CURSORHOLD.

Isolation Levels and CURRENTDATA

PeopleSoft batch processes interface to Db2 z/OS either through PTPSQLRT (for Cobol), or through SQRPLAN for SQRs. Both of these are bound with the defaults—that is, CS (cursor stability) and CURRENTDATA NO. Using CURRENTDATA NO results in less lock contention in Db2 z/OS and potentially reduce deadlock situations. It also provides two extra benefits:

  • Block fetch is enabled for ambiguous cursors.

  • Db2 z/OS considers parallelism for ambiguous cursors.

RELCURHL

A Db2 z/OS subsystem parameter RELCURHL lets you indicate that you want Db2 z/OS to release a data page or row lock after a COMMIT is issued for cursors defined WITH HOLD. This lock is not necessary for maintaining cursor position.

The default for Db2 z/OS is YES. In prior releases, the value was NO, which causes Db2 z/OS to hold a data page or row lock for the row on which the cursor is positioned. This lock is not necessary for maintaining cursor position and could cause deadlocks. The PeopleSoft recommendation is Yes to improve concurrency.