16.12.10

SAP Note 13907 - System error in the block handler, overflow lock table

Symptom:

FM: A system error has occurred in the block handler
The following error message is displayed in syslog: Lock table overflowed

Reason and Prerequisites

The lock table has overflowed.
Cause 1: The dimensions of the lock table are too small.
Cause 2: The update lags far behind or has shut down completely, so that the lock entries of the update requests that are not yet updated cause the lock table to overflow.
Cause 3: The application programs are poorly designed. A lock is issued for each object in an application program, for example a collective run with many objects.

Solution
Determine the cause:
Call transaction SM12 and choose "Goto" -> "Diagnosis" (old)
Call transaction SM12 and choose "Extras" -> "Diagnosis" (new)
checks the effectiveness of the lock management

Call transaction SM12 and choose "Goto" -> "Diagnosis in update" (old)
Call transaction SM12 and choose "Extras" -> "Diagnosis in update" (new)
checks the effectiveness of the lock management in connection with updates

SM12 -> OkCode TEST -> Error handling -> Statistics (old, only in the enqueue server)

SM12 -> Extras -> Statistics (new)
shows the statistics of the lock management, including the previous maximum fill levels (peak usage) of the partial tables in the lock table

If the owner table overflows, cause 2 generally applies.

In the alert monitor (RZ20), an overrunning of the (customizable) high-water marks is detected and displayed as an alert reason.

The size of the lock table can be set with the profile parameter "enque/table_size =". specifies the size of the lock table in kilobytes. The setting must be made in the profile of the enqueue server ( ..._DVEBM.. ). The change only takes effect after the restart of the enqueue server.

The default size is 4 MB for releases below 701 and 32 MB (32 Bit) or 64 MB (64 Bit) as of kernel release 701.

The maximum sizes for the individual tables are (example size: 4 MB):
Owner table: approx 5400
Name table: approx 5400
Entry table: approx 5400

Example: With the profile parameter
"enque/table_size =32000" , the size of lock table is set to
32000 KB (32 MB). With this setting, the tables can contain around 40000 entries.

Note that the above sizes and numbers depend on various factors such as the kernel release, patch number, platform, address length (32/64-bit), and character width (Ascii/Unicode). Use the statistics display in SM12 to check the actual capacity of the lock table.

If cause 2 applies, increasing the size of the lock table only delays the overflow of the lock table, but it cannot generally be avoided.
In this case you need to eliminate the update shutdown or accelerate the throughput of the update program using more update processes. Using CCMS (operation modes, see training BC120), the category of work processes can be switched at runtime, for example, an interactive work process can be converted temporarily into an update process to temporarily increase the throughput of the update.

For cause 3, you should consider a tuning of the task function Instead of issuing a large number of individual locks, it may be better to use generic locks (wildcard) to block a complete subarea. This will also allow you to considerably improve the performance.

Other terms

M3021, MM02, F5 288, F5288, FBRA

Keyword: Enqueue

No comments:

Post a Comment