SAP lock table overflow
SAP Lock Table Overflow
Lock table overflow may happen due to many reasons. Here we have listed down some of the known problems and solutions for SAP enqueue lock table overflow.
Generally we may see the below errors with enqueue lock table overflow in SM21, ST22 or in trace, log files.
- Internal lock administration error
- Enque Cluster : rtc=XXXX
- “Error locking table TBTCO”
- “Lock table overflow”
- “Internal lock administration error”
- “internal error occurred in lock management”
- “Enqueue: Transfer error while reading lock entries”
- *** ERROR => EqSet1(): GetFreeEntry() failed, EntryTable overflow
- *** ERROR => EqSet1(): GetFreeUser() failed, user table overflow
The enqueue lock table overflow occurs if the number of lock requests exceeds the quota configured in the system. The enqueue table size is controlled by the parameter “enque/table_size”.
Documentation of the parameter: “enque/table_size”
- This parameter defines the size of the lock table that is held in main memory by the enqueue server. The lock table contains information on which locks are currently held by whom.
- The size of the lock table limits the maximum number of lock entries, the maximum number of elementary lock names, and the maximum number of lock owners.
- In the case of an overflow of the lock table, you should check whether the update server is working correctly, since the lock table can grow in size very quickly if updates stop. If no update problems exist, you can use this parameter to increase the size of the lock table.
- The Computing Center Management System (CCMS) monitors the status of the lock table constantly and outputs warnings if the space available is not adequate.
You can view the fill level of the lock tables using the statistics functions of lock management (transaction SM12 -> Extras -> Statistics).
Perform the below checks to understand what causes the enqueue lock table overflow:
- Check the Enqueue Statistics: There are several reasons for enqueue lock table overflow. First we can check the enqueue statistics from SM12 > extras > Statistics looking at the maximum fill level. If the maximum fill level is the same as maximum number of locks -1 this indicates an enqueue table overflow.
2. We can also check current Statistics and history as below from SM12: in this step we can see as which user causes the locks in the system which leads to enqueue lock table overflow.
3. To check the statistics from OS level we can use the below command Sapcontrol –nr <NR> – function EnqGetStatistcis
4. Check the effectiveness of the lock management in connection with updates
- SM12 and choose “Goto” -> “Diagnosis” (old)
- SM12 and choose “Extras” -> “Diagnosis” (new)
- SM12 and choose “Goto” -> “Diagnosis in update” (old)
- SM12 and choose “Extras” -> “Diagnosis in update” (new)
5. Check the file ENQHISOVR in work directory. Here we can check top user which is causing enqueue lock table overflow and since when the lock table overflow is happened.
- First we can check the parameter “enque/table_size” if it is small then we can extend up to value 200000, depends on the system 32 bit or 64 bit and also kernel.
- If the parameter is already increased and still if we get such enqueue lock table overflow problems then please analyse statistics and history as mentioned in above screenshots (step 2 and 3). Based on this observation you can come to know which user causing the locks. If it is dialog users then analyse what they are trying to execute and causing these many locks in the system. If it is a background user check if parallel running of same program or jobs causing such bottlenecks.
- Check the DB01 locks, or from DB02 > wait event analysis > lock monitor.
- If the lock enqueue lock table overflow is happening during EPCIS (Event Capture Notification) message processing then please refer the SAP note 1968226, the correction instructions are mentioned in this note. In this case you may see the following errors in the systems: “Update not possible; event handler is locked (enqueued)” (/SAPTRX/APP_LOG 017). /SAPTRX/APP_LOG 017, /SAPTRX/APP_LOG017, /SAPTRX/PTA 059, /SAPTRX/PTA059, /SAPTRX/APP_LOG 105, /SAPTRX/APP_LOG105, lock, enqueue, lock table, overflow, /saptrx/bapi_eh_post, /saptrx/bapi_eh_addeventmsg_02,
- If you are getting the enqueue lock table overflow error in only while executing the transactions CWBQM or CEWB then please refer to note 2289006 – Lock table overflow regarding transaction CWBQM or CEWB.
- The size of the lock table can be set with the profile parameter “enque/table_size =<size>”. <size> specifies the size of the lock table in kilobytes. The setting must be made in the profile of the enqueue server (DVEBMXX ). 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.
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.
Please check Analyzing and Solving Problems for general recommendations of SAP Lock table overflow.
Further you can refer the following notes for enqueue lock table overflow: