Kbase P44646: Correcting lock table overflow errors
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  26/03/2009 |
|
Status: Verified
SYMPTOM(s):
Getting lock table overflow error 915 when doing big update
Lock table overflow, increase -L on server (915)
Out of free shared memory. Use -Mxs to increase. (6495)
FACT(s) (Environment):
All Supported Operating Systems
Progress 8.x
Progress 9.x
OpenEdge 10.x
CAUSE:
Badly designed code with respect to transaction and record scoping
FIX:
Modify application code so that transactions are small and locks on records are held for the minimum possible time. Suggestions for ways to resolve such problems are:
1) Compile the code using the listing option, this will indicate which blocks start and end transactions.
2) Use the TRANSACTION and LOCKED 4GL functions to determine which records are locked and if a transaction is active.
3) Avoid SHARE-LOCK and specify a record lock when retrieving a record.
4) Use the -NL startup parameter, but test thoroughly before deploying this parameter. This can affect future deployed code that relies on SHARE-LOCK,
so this should be avoided if possible.
5) Run the application code in single user mode if it is impossible to change the application. Relatively easy for batch processes.