What is the reason for lock table overflow and how to resolve it.
The maximum number of locks in the lock table is subject to an upper limit, which can be defined in a profile parameter. Parameter enque/table_size determines the size of the lock table in KB. You can determine both the maximum number and the current number of entries in the transaction using Extras/Statistics.
A lock table overflow can occur if:
- The lock table is configured too small
- An application sets a large number of locks
- The update process is hanging and this is passing a lot of locks onto the update task.
To resolve the lock table overflow issue:-
- Increase the size of lock table i.e increase the parameter enque/table_size value using RZ10 transaction.
To determine the optimal value for this parameter, you can check the maximum locks set so far in the history and the current number of locks set .On the List of Lock Entries screen choose the menu option Extras → Top Capacity Used →
Current: The current capacity used status is displayed.
History: The overflow history is displayed. The person responsible, his or her user name, the time, and the number of locks are listed.
Delete History: The overflow history is deleted.
- Increase the number of enqueue workprocesses
To increase/decrease the number of workprocesses, value to be changed accordingly for the following parameters as per workprocess in RZ10 Transaction.
rdisp/wp_no_dia (for dialog workprocess)
rdisp/wp_no_btc ( for background workprocess)
rdisp/wp_no_spo (for spool workprocess)
rdisp/wp_no_enq (for enqueue workprocess)
rdisp/wp_no_vb (for update workprocess)
rdisp/wp_no_vb2 (for update2 workprocess)
In RZ10 transaction, select the profile of the instance, for which workprocess number to be changed and edit the profile through extended maintenance and save the changes done and activate the profile.
Please note that as this parameter is not dynamic one, restart of the application server is required for the changes to become effective.