Solved

How to monitor Database locks and  sap locks ?

Posted on 2009-04-08
1
8,802 Views
Last Modified: 2013-11-16
what is the difference between these two

and how to trouble shoot the locks ?
0
Comment
Question by:sidharth100
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
1 Comment
 
LVL 29

Accepted Solution

by:
mass2612 earned 250 total points
ID: 24145777
Hi,

I'm prepared to try to explain this as best I can. SAP locks are managed by SAP itself also known as the SAP enqueue whilst Database locks are managed by your database lock handler.

Database locks are set by data changing SQL statements such as update, insert, delete, etc and held until the SQL statement commit is called and then the DB lock is released.

In a SAP transaction there can be multiple steps, after each step the SAP work process triggers a commit (or rollback if a rollback is executed it also releases all DB locks) therefore reducing the time that a DB lock is in place. Sometimes however this type of locking is not sufficient for a SAP system or trasnaction and therefore the SAP lock was designed.

A SAP lock is a logical lock that acts only within the SAP system. If the SAP locking system the SAP enqueue locks a table or row then it can still be changed by a SQL statement that executes directly on the database and not through the SAP enqueue convention.

Therefore if a transaction has many steps to it such as booking a holiday (first you need flights, then a hotel, then a car, etc if you can't get a flight you don't want the hotel or if you can't get a hotel you don't want a flight). If you follow this example in the SAP transaction each component i.e. flight, hotel, car is treated as a SAP LUW and locked via a SAP lock in the enqueue system and stored in special update tables. Once the entire transaction is complete the enqueue system sends a request to the update work process which then transfers the updates to the database system. Once the DB has been updated the enqueue then releases the SAP locks.

When a developer develops a report or program they should write the program so that locks are only created as late as possible to reduce database waits due to locking. Performance problems can occur if the lock is held too long or not released.

You can monitor Database locks via transaction DB01 and ST04.

You can monitor SAP locks (enqueue) via transaction SM12.

This is a big topic and for specifics you need to look in SAP notes or contact SAP directly most of the time or if the problem is in a new program or report talk to the developer.
0

Featured Post

Online Training Solution

Drastically shorten your training time with WalkMe's advanced online training solution that Guides your trainees to action. Forget about retraining and skyrocket knowledge retention rates.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

Supply Chain Event Management Supply chain visibility is the ability of a company to track its products and business processes in supply chain towards building operational excellence. The goal of supply chain visibility is to improve and strength…
These days socially coordinated efforts have turned into a critical requirement for enterprises.
Suggested Courses

739 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question