Solved

How to monitor Database locks and  sap locks ?

Posted on 2009-04-08
1
8,716 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 Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

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

Suggested Solutions

Get to know the ins and outs of building a web-based ERP system for your enterprise. Development timeline, technology, and costs outlined.
For cloud, the “train has left the station” and in the Microsoft ERP & CRM world, that means the next generation of enterprise software from Microsoft is here: Dynamics 365 is Microsoft’s new integrated business solution that unifies CRM and ERP fun…
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial

740 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