TM / TX Locks ( Tom Kyte and Oracle Docu)
538022Apr 3 2008 — edited Feb 21 2013Hello guys,
i have found a question about dml_locks on "Ask Tom" and was a little bit confused.
http://asktom.oracle.com/pls/asktom/f?p=100:11:0::::P11_QUESTION_ID:25323841260334
=> The answer of Tom:
do you have my book "Expert one on one Oracle"
the TX is not a row lock, TM is the "row lock" actually.
And now the oracle documentation:
http://download.oracle.com/docs/cd/B19306_01/server.102/b14220/consist.htm#sthref2066
=> Row Locks (TX)
Row-level locks are primarily used to prevent two transactions from modifying the same row. When a transaction needs to modify a row, a row lock is acquired.
=> Table Locks (TM)
Table-level locks are primarily used to do concurrency control with concurrent DDL operations, such as preventing a table from being dropped in the middle of a DML operation
I understand Toms example with the transaction and the update.. but what is his statement "the TX is not a row lock, TM is the "row lock" actually" about?
The oracle documentation says that a TX is a row lock and used for data protection (consistency) or does he mean the different lock types - they are documented in the "Summary of Table Locks" (oracle documentation link from above)
Regards
Stefan