Exclusive lock, Database Management System

Assignment Help:

Exclusive lock

  • It is asked for by a transaction on a data item that it wants to update.
  • No other transaction can put either a shared lock or an exclusive lock on a data item that is locked in an exclusive mode.

Let us explain the above two modes with the help of an instance. We will once again consider the transactions T1 and T2 but in addition a transaction T11 that search the total of accounts Y and Z.

Schedule

T1

T2

T11

S_Lock X

 

S_Lock X

 

S_Lock Y

 

S_Lock Y

 

Read X

 

Read X

 

S_Lock Y

 

 

S_Lock Y

S_Lock Z

 

 

S_Lock Z

 

 

 

Read Y

 

 

 

Read Z

X_Lock X

X_Lock X. The exclusive lock request on X is denied as T2 holds the Read lock. The transaction T1 Waits.

Read Y

 

Read Y

 

Display X+Y

 

Display X+Y

 

Unlock X

 

Unlock X

 

X_Lock Y

X_Lock Y. The previous exclusive lock request on X is granted as X is unlocked. But the new exclusive lock request on Y is not granted as Y is locked by T2 and T11 in read mode. Thus T1 waits till both T2 and T11 will release the read lock on Y.

Display Y+Z

 

 

Display Y+Z

Unlock Y

 

Unlock Y

 

Unlock Y

 

 

Unlock Y

Unlock Z

 

 

Unlock Z

Read X

Read X

 

 

Subtract 100

Subtract 100

 

 

Write X

Write X

 

 

Read Y

Read Y

 

 

Add 100

Add 100

 

 

Write Y

Write Y

 

 

Unlock X

Unlock X

 

 

Unlock Y

Unlock Y

 

 

                                                               Figure: Example of Locking in multiple-modes

Therefore, the locking as above results in a serialisable schedule. Now the query is can we release locks a bit early and have still no concurrency related problem?Yes, we can do it if we lock using two-phase locking protocol.


Related Discussions:- Exclusive lock

Example of sequences, Example : Create a sequence named SEQSS that starts a...

Example : Create a sequence named SEQSS that starts at 105, has a step of 1 and can take maximum value as 2000.  CREATE SEQUENCE SEQSS START WITH 105 INCREMENT BY 1 MAX VA

Explain domain-oriented relational calculus?, How does Tuple-oriented relat...

How does Tuple-oriented relational calculus vary from domain-oriented relational calculus? The tuple-oriented calculus uses a tuple variables i.e., variable whose only allowed

Explain group by clause in sql, Explain group By clause in SQL? Group B...

Explain group By clause in SQL? Group By clause in SQL: The GROUP BY clause can be used in a SELECT statement to collect data across multiple records and group the results thro

How does query tree represent relational algebra expression, How does a que...

How does a query tree represent a relational algebra expression?  Discuss any three rules for query optimisation, giving example as to when should each rule be applied.     Ans

Define the basic operations of the relational algebra, Define the basic ope...

Define the basic operations of the relational algebra?     Ans: Basic operators of relational algebra are: 1. Union (∪) - Selects tuples which are in either P or Q or in bot

Tables, does tables are called relations

does tables are called relations

What is the meaning of recovery, What is the meaning of Recovery? In d...

What is the meaning of Recovery? In deferred update methods, if a transaction fails before arriving its commit point, it will not have altered the database in any way, so UNDO

Join relation of two tuples, Consider the join of a relation R with relatio...

Consider the join of a relation R with relation S. If R has m tuples and S has n tuples, then the maximum size of join is: If R has m tuples and S has n tuples then maximum siz

Write Your Message!

Captcha
Free Assignment Quote

Assured A++ Grade

Get guaranteed satisfaction & time on delivery in every assignment order you paid with us! We ensure premium quality solution document along with free turntin report!

All rights reserved! Copyrights ©2019-2020 ExpertsMind IT Educational Pvt Ltd