Lock Table entries
- The size of the Lock Table is scoped with the -L database startup parameter (default 8192).
- Each record that is share-locked or exclusive-locked by any user takes one entry.
- Sub-transactions also take Lock Table entries when share-lock or exclusive-lock
1. Current Record Locks Identifying the user holding the most locks for an extended period assists in eventually finding the transaction code needing review. Record Locks being held can be found through:
PROMON > Option 4. Record Lock Table
2. Lock table entries usedThe
current and the highest number of Lock Table entries used for a running database can be viewed through:
PROMON > R&D > Option 1. Status Displays > Option 13. Shared Resources
Review the following two lines of information:
Lock table entries in use: 2048 of 8192
Lock table high water mark: 8190
Where:
- Lock table entries in use - The number of lock table entries that are currently being used, and the total number of entries available as specified by the -L database startup parameter (default 8192).
- Lock table high water mark - The maximum number of lock table entries that were in use simultaneously since the database was started. It will only be reset when the database is restarted. It cannot be reset with 'proutil -C zerostats' as it is the high water mark.
This value may be higher than the -L value database was started with. When this value equals the total number of Lock entries available, the "Lock table overflow, increase -L on server (915)" error results. Each time there is a Lock table overflow, 72 bytes are taken from excess shared memory (-Mxs) for one extra Lock Table entry.
This information can also be queried with the
_DBStatus VST table:
Since OpenEdge 10.1C the size of the Lock Table can be increased online. Refer to Article 000012486 ,
What is proutil <dbname> -C increaseto?