Solved

How to monitor Database locks and  sap locks ?

Posted on 2009-04-08
1
8,915 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

Free NetCrunch network monitor licenses!

Only on Experts-Exchange: Sign-up for a free-trial and we'll send you your permanent license!

Here is what you get: 30 Nodes | Unlimited Sensors | No Time Restrictions | Absolutely FREE!

Act now. This offer ends July 14, 2017.

Question has a verified solution.

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

Oracle Apps Profiles option: A user profile is a set of shifting options that alter the way one runs an application. A value is set for each option under the user's profile when the Oracle application user logs on to any responsibility or changes…
Exception Handling is in the core of any application that is able to dignify its name. In this article, I'll guide you through the process of writing a DRY (Don't Repeat Yourself) Exception Handling mechanism, using Aspect Oriented Programming.
There's a multitude of different network monitoring solutions out there, and you're probably wondering what makes NetCrunch so special. It's completely agentless, but does let you create an agent, if you desire. It offers powerful scalability …
If you’ve ever visited a web page and noticed a cool font that you really liked the look of, but couldn’t figure out which font it was so that you could use it for your own work, then this video is for you! In this Micro Tutorial, you'll learn yo…

687 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