1565578 - Lock Table Overflow - ENSA 1

Symptom

Some of the following symptoms occurs:

  •  The work process trace (dev_w*) shows the following error "*** ERROR => EqSet1(): GetFreeArg() failed, ArgTable overflow";
  •  ENSA traces like dev_enqwork report errors like:
[Thr 15300] ***LOG GEA=> [enxxmenq.h 2035]
[Thr 15300] ***LOG GZZ=> EnqueCluster: rtc=16 [enxxmenq.h 2036]
[Thr 15300] *** ERROR => EnqueCluster: EntryTable overflow [enxxmenq.h 2023]
[Thr 15300] ***LOG GZZ=> EnqueCluster: rtc=16 [enxxmenq.h 2036]
[Thr 15300] *** ERROR => EnqueCluster: ArgTable overflow [enxxmenq.h 2014]
[Thr 15300] *** ERROR => EnqueCluster: EntryTable overflow [enxxmenq.h 2023]
  •  The error pops "A system error has occurred while locking" up and the transaction fails;
  •  Syslog (SM21) shows "SAPSYS GE G Lock table overflow" or some of the following errors:
"Lock table overflow" (Message no. MC603).

ENQ 000 GEA Internal lock administration error
ENQ 000 GZZ > EnqueCluster: rtc=16 enxxmenq2036
ENQ 000 GEA Internal lock administration error
ENQ 000 GZZ > EnqueCluster: rtc=16 enxxmenq2036
DIA 026 042 EGD > Error locking table TBTCO
DIA 026 042 EGD > Error locking table TBTCO
  • On SM12 -> Extras -> Diagnosis system returns errors during lock operation.
  • The log file ENQHISOVR inside of ENSA work folder shows:

EnqStoreTopHist: Lock Table Overflow at yyy/mm/dd 12:34:56 caused by
Top user 1:
Cnt= 56382 Cli=<CLIENT> Uname=<USER> Tcode=<CODE>
Owner1=20170306140359329206000202<instance>....................
Owner2=20170306140359329206000202<instance>....................
  •  On SM12 -> Extras -> Statistics the following "Maximum Fill level" reached the "Maximum Number..."

Maximum Number of Lock Owners 112878
Maximum Fill level 112878
Current Fill Level 4
Maximum Number of Lock Arguments 112878
Maximum Fill level 112878
Current Fill Level 79
Maximum Number of Lock Entries 112878
Maximum Fill level 112878

Environment

All SAP NetWeaver systems

Reproducing the Issue

Create more additional enqueue locks than the supported by the system configuration.

Cause

This error occurs because there is an overflow in the lock table and it is not possible to set further locks.
The overflow can occur due to the following reasons:

  • The lock table is too small for loads encountered on the system.

  • An application is creating a large number of locks at once.
    Check on ENQHISOVR file from the work directory if an application/transaction has created an unusual large amount of locks

Resolution

  1. Check which Enqueue Server is running on your system (Standalone Enqueue Server or Classical Central Instance).
    This can be seen on transaction SM12 -> Extras -> Diagnosis. It will show "Lock management operation mode":

    a) In case of Standalone Enqueue Server 1 , information shown will be:
    Standalone.jpg

    b) In case of Central Instance, one of these outcomes (depending on the application server where SM12 is executed):
    CentralInstance.jpg      CentralInstance2.jpg
     
    c) In case of Standalone Enqueue Server 2 (ENSA 2.0), refer to KBA 2917868 - ENQU, ENSA 2.0: Lock Table Overflow


    But if system has Standalone Enqueue Server 1 (ENSA 1), then proceed as following:                        
  1. Confirm that a lock table overflow has occurred by going to SM12 -> Extras -> Statistics and looking at the maximum fill level.

    If the maximum fill level is the same as maximum number locks Owners, Arguments or Entries, this indicates an enqueue table overflow.
     Note that the statistics are reset every restart, therefore, the statistics only will be useful if no restart has been made after the problem.

      enqueue overflow.PNG

  2. In order to avoid this situation you should increase the size of the profile parameter 'enque/table_size'. This parameter defined the size of the lock table in KBytes.

    When running Standalone Enqueue Server, enque/table_size value shown on RSPARAM or RZ11 should not be taken into account.
    The value can be checked instead on following line from dev_enqsrv trace file, written when the Enqueue Server is started:

    EnqLockTableCreate: create lock table (size = <value in bytes>)

    Parameter should be increased on the profile where the Enqueue Server is defined.      
    In the ENQ trace file dev_enqsrv, find out the profile which is used by the enqueue server, then change/set the parameter in the profile.
    Restart is needed so that change takes effect.  

    SAP Note 13907 contains more information on setting the enqueue table size. SAP Note 746138 also helps with enqueue overflow analysis

See Also

79084 - Syslog: Error when writing the lock handler file
13907  -System error in the block handler, overflow lock table
746138 - Analyzing lock table overflows
2138377 - Output delivered by "Top Capacity Used" menu in SM12
1384191 - SM50: Many processes in status "holds ENQ"

Keywords

ASCS, SCS, enque ,ENQ_OVERFLOW, EnquServerException, enque/table_size, overflow, ArgTable overflow, EntryTable overflow, ENSA1, ENSA2, ENQHISOVR, lock table is too small

Products

Products
SAP NetWeaver all versions

posted on 2024-11-22 10:14  BASIS/老应  阅读(116)  评论(0)    收藏  举报

导航