00C90096
Explanation
The page or row lock on the page or subpage identified by the NAME resource-name value in message DSNT500I or DSNT501I caused the total number of page or row locks concurrently held to reach the installation maximum number of page or row locks (NUMLKUS) allowed for a single agent in the system.
System action
The operation that encountered this condition is not executed. If a utility job encountered this condition, the utility is stopped. Otherwise, any database updates for the statement that was executing are backed out. Any database reads for the statement that was executing are not executed. The position of the cursor is unpredictable.
Operator response
If a utility job encountered this resource unavailable condition, terminate the utility and restart it after the cause of the resource unavailable condition has been corrected.
System programmer response
If the application
should be able to run with the current page or row or locking protocol
and SQL statements, increase the NUMLKUS value for the installation
to allow a higher limit of page or row to be concurrently held by
a single application. If a utility job encountered this resource unavailable
condition, the NUMLKUS value must be increased to accommodate the
utility, because utilities are programmed to use the minimum number
of page or row locks possible.
User response
Rerun the application after correcting the cause of this resource unavailable condition.
Programmer response
Reduce the total number of page or row locks that the application concurrently holds by changing the locking protocol on one or more of the table spaces to table space level locking. To do this, use the ALTER ... LOCKSIZE TABLESPACE or LOCK TABLE statements.
Review the application to see if a different choice of SQL statements can be used to perform the same operation with less concurrent access to multiple tables with page or row locking.
If application logic permits, reduce the number of page or row locks concurrently held for SELECT statements by rebinding the application plan with isolation level of cursor stability instead of repeatable read or read stability, or add more frequent commits.
Problem determination
An SQLCODE -904 and message DSNT500I or DSNT501I are issued.
SYS1.LOGREC contains information in the variable recording area (VRA) of the system diagnostic work area (SDWA). Significant fields for this code are: VRARRK13, VRARRK14, and VRARRK15.
If you suspect an error in DB2®, you might need to report the problem. For information about identifying and reporting the problem, see Collecting diagnostic data.
- Console output from the system on which the job was run, and a listing of the SYSLOG data set for the period of time that spans the failure.
- SVC dump (or system dump), taken to SYS1.DUMPxx data set, as result of an operator-initiated dump command or SLIP trap exit.
- Listing of SYS1.LOGREC data set, obtained by executing IFCEREP1.
- SYSPRINT output, including JCL, for the application program or batch job, and system messages that were issued. Make sure that MSGLEVEL=(1,1) on the JOB statement so that all diagnostic information is sent to SYSPRINT.