Do you have any question about this error?
Message type: E = Error
Message class: DB6 - DB6: Alert Monitoring and Alert Configuration
Message number: 117
Message text: Number of lock escalations per hour
If a transaction accesses the database to make changes, the system
locks exactly those records in the tables that the application is
accessing for the duration of the transaction. The system stores this
information in a separate area of the main memory, and other
transactions can no longer access those records to change them. If this
memory is used up, the entire table is locked from that point on. This
is a lock escalation.
The table-wide lock obstructs other running transactions and should
generally be avoided.
Set the size of the memory area available to an application for locks
using the database parameters LOCKLIST and MAXLOCK.
Error message extract from SAP system. Copyright SAP SE.
DB6117
- Number of lock escalations per hour ?The SAP error message DB6117 indicates that the number of lock escalations per hour has exceeded a predefined threshold. Lock escalation occurs when the database system converts row-level locks into table-level locks to reduce the overhead of managing many individual locks. This can lead to performance issues and contention among transactions.
Cause:
- High Concurrency: A large number of transactions trying to access the same data simultaneously can lead to many row-level locks being created.
- Long-Running Transactions: Transactions that hold locks for an extended period can increase the likelihood of lock escalations.
- Insufficient Lock Management: The database configuration may not be optimized for the workload, leading to excessive lock escalations.
- Application Design: Poorly designed applications that frequently access the same rows or tables can exacerbate locking issues.
Solution:
- Analyze Locking Behavior: Use transaction monitoring tools to analyze which transactions are causing the most locks and why.
- Optimize Transactions: Review and optimize long-running transactions to ensure they complete as quickly as possible. This may involve breaking them into smaller transactions or optimizing the queries involved.
- Adjust Database Configuration: Depending on the database being used (e.g., Oracle, SQL Server, etc.), you may need to adjust parameters related to locking and escalation thresholds.
- Implement Locking Strategies: Consider using optimistic locking or other strategies that reduce the likelihood of lock contention.
- Review Application Logic: Ensure that the application logic is designed to minimize lock contention, such as accessing data in a consistent order or reducing the frequency of updates to the same rows.
- Increase Resources: If the workload has increased, consider scaling up the database resources (CPU, memory, etc.) to handle the load more effectively.
Related Information:
By addressing the underlying causes of lock escalations and optimizing both the database and application design, you can reduce the frequency of this error and improve overall system performance.
Get instant SAP help. Start your 7-day free trial now.
DB6116
Too many deadlocks occur in the system
What causes this issue? Two or more running transactions are both in a wait state are are waiting for each other. The system resolves this wait situa...
DB6115
Number of deadlocks per day
What causes this issue? A Deadlock is a mutual lock of two or more running transactions. It means that they are both in a wait state and each is wait...
DB6118
Too many lock escalations occur in the system
What causes this issue? As a transaction is accessing too many records of a table to make changes, the system has locked the whole table. Other trans...
DB6119
Number of exclusive lock escalations per hour
What causes this issue? If an application accesses database data to make changes, the system locks exactly those records in the table that are requir...
Click on this link to search all SAP messages.