Serialization and concurrency
This topic discuss concurrency issues and object status requirements for CHECK PLUS.
Concurrent execution of BMC utilities
All BMC Software utility products use the BMCUTIL to control the use of utility IDs, which identify executions of BMC utilities. Each BMC utility product must have a unique ID for restart purposes. This unique ID is stored in the BMCUTIL. For more information about this, see BMCUTIL.
BMC utility jobs register Db2 objects in the BMCSYNC. The registering utility assigns a sharing level to each registered object. The sharing level controls access to that object from other BMC utilities. For partitioned Db2 spaces, registration is performed at the partition level.
The BMCSYNC allows multiple BMC utilities (or multiple instances of a utility) to operate concurrently on different partitions of a Db2 space if no non-partitioning indexes are involved. In addition, some BMC utilities can operate concurrently on the same object or partition. For information about which products can operate concurrently.
In the following table, the Access level column refers to the value of the SHRLEVEL column in the BMCSYNC . The level can be one of the values:
- S indicates shared access. Any other utility that registers with shared access (S) can run against the object.
- X indicates exclusive access. No other utility can run against the object.
- Blank value indicates that no status is requested and any other utility can run against the object.
Executing BMC utilities concurrently
Product | Access level | Additional information |
---|---|---|
CHECK PLUS | S | None |
BMC AMI Copy | S or blank | If you specify COPY IMAGECOPY, BMC AMI Copy registers the object with no access status (blank). Otherwise, BMC AMI Copy registers the object with shared access (S). |
DASD MANAGER PLUS (BMCSTATS) | S | None |
LOADPLUS | X | If you specify PART, LOADPLUS registers only the specified partitions with exclusive access (X). If no nonpartitioned indexes exist on the space, you can run other utilities on different partitions while running this job. |
BMC AMI Copy | S or blank | If you specify COPY IMAGECOPY, BMC AMI Copy registers the object with no access status (blank). Otherwise, BMC AMI Copy registers the object with shared access (S). |
DASD MANAGER PLUS | S | None |
LOADPLUS | X | If you specify PART, LOADPLUS registers only the specified partitions with exclusive access (X). If no nonpartitioned indexes exist on the space, you can run other utilities on different partitions while running this job. |
BMC AMI Recover | X, S, or blank | BMC AMI Recover registers an object with shared access (S) under the following conditions:
BMC AMI Recover registers an object with no access status (blank) if you specify the following commands or options:
BMC AMI Recover registers the object with exclusive access (X) in all other cases. |
BMC AMI Recovery Manager | S | None |
REORG PLUS | X | If you specify PART, REORG PLUS registers only the specified partitions with exclusive access (X). If no nonpartitioned indexes exist on the space, you can run other utilities on different partitions while running this job. |
UNLOAD PLUS | S | None |
The setting of the LOCKROW installation option determines whether CHECK PLUS uses IBM MVS enqueues or SQL LOCK statements to serialize the BMCSYNC and BMCUTIL s. For information about the LOCKROW option, see Customizing-after-installation.
Object status
The database that is associated with the objects that are participating in the check must have an initial status of read/write (RW). Any space or index space that is participating in the check must have an initial status of RW, read-only (RO), or utility-only (UT). Index spaces cannot be in any of the following statuses:
- Auxiliary warning (AUXW)
- DBET error (DBETE)
- Group RECOVER pending (GRECP)
- Logical page list (LPL)
- Page set REBUILD pending (PSRBD)
- REBUILD pending (RBDP)
- Logical part REBUILD pending (RBDP*)
- RECOVER pending (RECP)
- Refresh pending (REFP)
- REORG pending (REORP)
- Restart pending (RESTP)
- Utility restrictive state, utility exclusive control (UTUT)
- Write error page range (WEPR)
At the beginning of the CHECK phase, CHECK PLUS first obtains locks on the appropriate s to prevent updates to the and index spaces. CHECK PLUS then externalizes those spaces’ pages from the buffer pool.
For SHRLEVEL REFERENCE (the default), CHECK PLUS releases the locks at the end of the CHECK phase after check processing is complete. For SHRLEVEL CHANGE, CHECK PLUS releases the locks before check processing begins in the CHECK phase.