In some database platforms, you can lock a row of a table before you update that row. This prevents others from updating that row while you are in the middle of making changes. There are many different types of locks. In some database platforms, locking individual rows can be a performance problem. So after you've locked a certain number of rows, your lock will be promoted from multiple row level locks to a table lock. Instead of multiple locks you now have one. This makes lock management easier on the database engine. Unfortunately, no one else can obtain any type of lock on that table if you have a table lock.
Lock conversion occurs when you try to change the type of lock that you currently have. For instance, you may have obtained a read lock and wish to now use a write lock. So you must convert your lock.
Oracle databases do not convert or promote locks. In my opinion, this is one of the best aspects of the Oracle database. It is still able to achieve a high degree of concurrency without using lock promotion or lock conversion!
For More Information
- What do you think about this answer? E-mail the editors at editor@searchDatabase.com with your feedback.
- The Best Oracle Web Links: tips, tutorials, scripts, and more.
- Have an Oracle or SQL tip to offer your fellow DBAs and developers? The best tips submitted will receive a cool prize. Submit your tip today!
- Ask your technical Oracle and SQL questions -- or help out your peers by answering them -- in our live discussion forums.
- Ask the Experts yourself: Our SQL, database design, Oracle, SQL Server, DB2, metadata, object-oriented and data warehousing gurus are waiting to answer your toughest questions.
This was first published in May 2002