This note describes the subsequent analysis performed to determine the cause of a lock table overflow.
Other termsenque, enqueue, lock table overflow, ENQ_OVERFLOW, 16, EnquServerException
Reason and PrerequisitesThe maximum number of locks in the lock table is subject to an upper limit that is set by profile parameters. The enque/table_size parameter determines the size of the lock table in KBs. You can use transaction SM12 -> Extras -> Statistics to determine both the maximum number and current number of entries.
A lock table overflow may occur if:
- the lock table configuration is too small
- an application sets lots of locks
- the update hangs and, as a result, numerous locks inherited by the update task exist
Up to now, subsequent analysis could not be performed to determine which lock types and which lock owners mainly contributed to the lock table overflow.
The kernel patch described here saves information about the cause of a lock table overflow. This information can be read retrospectively.
The kernel patch concerns kernel releases 4.6D, 6.40 and higher.
The following information is saved for the last ten lock table overflows:
- the three lock owners with the most locks
- the three lock arguments with the most locks
Use transaction SM12 to obtain the raw information and the following selection data in particular:
- Client: "#01"
- User name: "#01_002"
- Table: "#01_002"
- Argument: "#01_002"
Furthermore, this information is stored in the ENQHISOVR file in the work directory of the enqueue server.
The overflow information is written as of the following kernel patch levels:
4.6D: 1856
6.40: 21