How to check enqueue overflow?
The enqueue lock table overflow occurs if the number of lock requests is bigger than the limit of the enqueue table. It is limited by the parameter “enque/table_size”. The reasons for an overflow are explained in the note 13907.
- How to check the database size? How to check in SAP, the number of tables and indexes in database and their sizes? How to check the users that are present in database at SAP level? How to check various tablespaces in SAP and their sizes?
- SUSE Linux If you want to calculate any “SAP Table Size” then you can use the SAP program RSTABLESIZE to do this quickly Go to SE38 and execute the report RSTABLESIZE Input the SAP table name which you want to determine of size.
If you are getting these messages in the syslog (SM21) or in the traces files you are facing an overflow in the enqueue table:
Check the compression ratio of table columns, that is, the ratio of the column's uncompressed data size to its compressed data size in memory. SELECT SCHEMANAME, TABLENAME, COLUMNNAME, COMPRESSIONRATIOINPERCENTAGE, LOADED from PUBLIC.MCSCOLUMNS where SCHEMANAME=' ' and TABLENAME=' table '. The SAP Lock Table Overflow Guide. Like it is already mentioned, SAP can manage locks using lock table. That lock table will contain all of the information that are related to those locks that are holding the lock, or which of the locks are held currently etc. The lock table can have specified size through the SAP parameter enque/tablesize.
The way to check if there is an overflow is via statistics of transaction SM12.
Go to “SM12 -> Extras -> Statistics” and you find statistics as per:
If the 'Maximum Fill Level' exceeds “Maximum Number of Lock…”, then you are facing an enqueue overflow.
The enqueue table is stored in the runtime memory, so its statistics are from the last start up.
You can also analyse the enqueue statistics is from Operating System level with the sapcontrol tool.
Sapcontrol is a client tool that connects to the sapstartsrv service and works with web methods. With the available function “EnqGetStatistic” you can check the same statistics list as available in transaction SM12. The command syntax is:
The <instance number> option must be the instance number of ENSA (standalone enqueue server) ABAP or JAVA. This function does not work with classical CI where the enqueue service is running in a dialog instance.
Below is an example of the statistics collected with the sapcontrol:
To check the list of available functions, call the command sapcontrol and check the list of WEBMETHODS.
If you need some basic and important information about SAP lock table overflow, you have come to the right place. The application protocol that is created to ensure that one business object is changed by one user, execution or transaction at one time is called SAP lock. Actually, SAP is an application that can place a request so it can lock the object like sale order, and then the application can be proceed with change logic when only the lock request is granted, but this can happen only when the changes are completed and then the lock on the object can be released. The SAP lock request can be held in memory central lock table with size that is pretty well configurable via SAP transaction RZ10. This lock request can be granted only when no existing lock is related to the object in the central look table. The database lock is not the same as the SAP lock because the SAP lock is related only on level of business objects and one object can be stored in many tables. It can occur to you to face with the problem of SAP lock table overflow, but like every problem, it has solution and all the information will be explained bellow.
The SAP Lock Table Overflow Guide
Like it is already mentioned, SAP can manage locks using lock table. That lock table will contain all of the information that are related to those locks that are holding the lock, or which of the locks are held currently etc. The lock table can have specified size through the SAP parameter enque/table_size. That parameter enables the size of the table to limit the number of locks, lock owners or lock names. If that size is exceeded, this issue can occur. Actually, this overflow can happen if the lock table configuration is too small, if there is a large number of locks, if the update process is hanging and if the report is running with improper selection criteria.
How to Identify This Issue
Identifying this issue can be very obvious. If it happens to you to find error in the SM21 transaction log or the ST22 dumps, maybe you have this issue. Actually, to be sure of this care, you will have to look if the error is a message named LOCK_TABLE_OVERFLOW, that actually is Internal lock administration error that is telling you that is sure that this issue really you got it. So, with this dumps you get the idea of the issue problem.
What Parameter Needs to be Changed if We Want to Increase the Lock Table Size in SAP?
If you want to increase the size of the lock table, you will have to change the enque/table_size parameter. Here you have to use RZ10 transaction. The parameter has default value that is 32768. Also, the value can have minimal version that can be set – 4096, but also there can be maximum value – 102400. But, you will have to pay attention that the unit of the value of parameter is in KB.
How to Change the SAP Parameter
If you have problem that you don’t know how to change the SAP parameter, just follow the instructions. First, go to RZ10, then select the instance profile of the server of which you like to change the parameter. When you select the profile, next you have to select the extended maintenance button and press on the button to change it. You will notice a screen that will be displayed to you and there are shown all the parameters. The user is enabled to search or create for the parameter and insert/change the value that is desired. When the value is inserted in the box, in the next text box you have to click on the copy button so it can be copied in the next screen, then you click SAVE and activate the profile, you press no to the next box, and when you will get the request of activating the profile, you click yes and restart the application server if you want the parameter to take effect.
How to Resolve This Issue
Like it is already mentioned above, there are several reasons why this issue can happen, but all of them can be resolved. If you want to solve this issue problem, all you have to do is follow the instructions bellow.
First, you will have to increase the size of the lock table, better said to change the parameter using RZ10 transaction. If you do not know how to do it, you have the needed information on the previous chapter. There is also option to determine the optimal value for any parameter, so you can look at the Statistics that can be found from SM12 > Extras > Statistics.
The next thing if you want to resolve the issue is to increase the number of enqueuer work processes. If you don’t know how to do it, just follow the instructions bellow.
How to increase the number of work processes?
Actually, the work processes are used if you want to execute some particular job in the SAP system. There are several types of work processes like:
- Dialog work process (DIA) that is used for execution of dialog steps through the active users, for every dispatcher at least 2 dialog work processes can be configured.
- Update work process (UPD) it is used for execution of update tasks with at least one update
- Background work process (BTC) for background jobs
- Spoil work process for passing sequential data to printers
- Update2 work process that is similar to UPD
- Enqueue work process for administer lock table in the shared memory.
If you need to increase the number of work processes, you will have to change their parameters through RZ10 transaction. Parameters:
rdisp/wp_no_dia
rdisp/wp_no_btc
rdisp/wp_no_spo
rdisp/wp_no_enq
rdisp/wp_no_vb
rdisp/wp_no_vb2
Sap Abap Check
Conclusion
List Of Tables In Sap
If we assume everything, we can see the reasons why can this issue happen and how to resolve it. On that way you are enabled to solve the issue of SAP lock table overflow and deal with it, just change the parameter for improving in the size, and increase the number of work processes.