what are the differences among these table level lock
modes - IN SHARE MODE, IN SHARE UPDATE MODE, IN EXCLUSIVE
MODE ?
Answer Posted / anil kumar jaiswal
Lock : Lock is a mechanism to prevent destructive interaction between users using same source at same time.
mainly lock is two types :
row level lock and table level lock.
Row level lock : in this a row is locked exclusively so others can not modify the rows until the transaction holding the lock is commited or rolled back.
syntax : lock table table_name where sal>3000(any condition) for update of comm(a column name);
table level lock consist 3 type :
a) share mode lock.
b)share update mode.
c)share exclusive mode.
share mode : allow users to query but not able to perform dml operation on the table being locked in shared mode. multi user can place share lock on same resource at same time.
syntax : lock table table_name in share mode;
share update lock : its used to lock the rows that need to be updated and also allow other user to access other rows of the table.
it just prevent users to use the same row is updating.
in share update mode users can perform all task like insert,delete,update.
syntax : lock table table_name in share update mode;
Exclusive mode : you can give same definition written for share lock. the only difference is only 1 user can place exclusive lock on a table at a time.
syntax : lock table emp in share exclusive mode;
Note : After explaining concept of locks i like to share some info about deadlock.
what is deadlock : when 2 user have a lock each on separate object, and wants to acquire a lock on each other objects when this happen. the first user need to wait for the 2nd user to release the lock but the 2nd user will not release the lock untill he found first user object freed. in this scenario oracle detect deadlock automatically and solve the problem by aborting one of the transaction.
| Is This Answer Correct ? | 1 Yes | 0 No |
Post New Answer View All Answers
What is the use of %rowtype?
What are the methods of filing?
what are the 'mysql' command line options? : Sql dba
define sql insert statement ? : Sql dba
define join and explain different type of joins? : Sql dba
How many types of triggers are there in pl sql?
What is the difference between a primary key and a clustered index?
what are all types of user defined functions? : Sql dba
Hi am new to PLSQL & facing problems in writing code like in SP, Functions, so any one having some SP coding with in depth explanation please share with me my Email ID suvarnaatsuvarna@rediffmail.com Or taking tanning on this please do contact me
What is file based approach?
how tsql statements can be written and submitted to the database engine? : Transact sql
How is sql used in oracle?
What is the best free sql database?
what is 'mysqld'? : Sql dba
What does count (*) mean in sql?