Salesforce

Why is the value for lock table entries different between the database start-up script, database log file and the promon?

« Go Back

Information

 
TitleWhy is the value for lock table entries different between the database start-up script, database log file and the promon?
URL Name000036684
Article Number000159393
EnvironmentProduct: Progress
Version: 9.x
Product: OpenEdge
Version: 10.x, 11.x
OS: All Supported Operating Systems
Question/Problem Description
Why is there a difference between -L value for Lock Table entries between the database start-up script, database log file and PROMON
Difference in -L value between OE Console vs PROMON
Difference in -L value in the OE database log file vs PROMON
Steps to Reproduce
Clarifying Information
Error Message
Defect Number
Enhancement Number
Cause
Resolution
The reason for differences in the -L value are explained below:

1.  Progress rounds the size of -L up to the nearest multiple of 32 .

Example:

If -L is set to 10000 when starting the database, it will round off to 10016 in the database log file which is a multiple of 32.  The database log file will the following message:
(4241)  Current Size of Lock Table (-L): 10016.

2.  Each time there is a Lock Table overflow, Progress may need to add one additional Lock Table entry (-L).  The memory for the extra entry comes from whatever free shared memory happens to be available (-Mxs).  So the lock table size gradually grows until there is no more free shared memory left. 

Example:
  • Assume the database has 10016 lock table entries.
  • When all 10016 entries are used up and another is needed for transaction backout, the database log file shows a lock table overflow error, "Lock table overflow, increase -L on server (915)".
  • If the database engine is in the middle of an UNDO, the Lock Table size and the overflow limit are both increased by one and it gets the additional lock.
  • Now the Lock Table size is 10017 and so is the overflow limit.  The database will now give a Lock Table overflow again after 10017 entries have been consumed. then 10018, 10019, 10020, and so on until there is no more shared memory available.  The PROMON Lock Table entry value after the Lock Table Overflow error will therefore be different from the value recorded in the database log file when it was originally started.
The above examples demonstrate why there is a difference between the Lock Table Entries value used in a database start-up script or configured in the DLC/properties/conmgr.properties file reported in the database log file when the database is started multi-user, to the value reported in PROMON.
Workaround
Notes
Keyword Phrase
Last Modified Date5/25/2016 11:51 AM

Powered by