Concurrency and Locks
Concurrency and Locks
Ahmed Naguib
ORACLE administration by Ahmed Naguib
Objectives
Ahmed Naguib
2 ORACLE administration by Ahmed Naguib
Concurrency and consistency
User
Ahmed Naguib
3 ORACLE administration by Ahmed Naguib
Locks
Transaction 1 Transaction 2
SQL> UPDATE employees SQL> UPDATE employees
2 SET salary=salary+100 2 SET salary=salary*1.1
3 WHERE employee_id=100; 3 WHERE employee_id=100;
Ahmed Naguib
4 ORACLE administration by Ahmed Naguib
Locking Mechanism
Transaction 1 Transaction 2
SQL> UPDATE employees SQL> UPDATE employees
2 SET salary=salary+100 2 SET salary=salary*1.1
3 WHERE employee_id=100; 3 WHERE employee_id=101;
Ahmed Naguib
5 ORACLE administration by Ahmed Naguib
Ahmed Naguib
6 ORACLE administration by Ahmed Naguib
Data Concurrency
Ahmed Naguib
7 ORACLE administration by Ahmed Naguib
DML Locks
Transaction 1 Transaction 2
SQL> UPDATE employees SQL> UPDATE employees
2 SET salary=salary*1.1 2 SET salary=salary*1.1
3 WHERE employee_id= 107; 3 WHERE employee_id= 106;
1 row updated. 1 row updated.
Ahmed Naguib
9 ORACLE administration by Ahmed Naguib
Enqueue Mechanism
Ahmed Naguib
10 ORACLE administration by Ahmed Naguib
Lock Conflicts
Ahmed Naguib
11 ORACLE administration by Ahmed Naguib
Possible Causes of Lock Conflicts
• Uncommitted changes
• Long-running transactions
• Unnecessarily high locking levels
Ahmed Naguib
12 ORACLE administration by Ahmed Naguib
Detecting Lock Conflicts
Ahmed Naguib
14 ORACLE administration by Ahmed Naguib
Resolving Lock Conflicts by Using SQL
Result:
Ahmed Naguib
15 ORACLE administration by Ahmed Naguib
Deadlocks
Transaction 1 Transaction 2
UPDATE employees UPDATE employees
SET salary = salary x 1.1 9:00 SET manager = 1342
WHERE employee_id = 1000; WHERE employee_id = 2000;
UPDATE employees UPDATE employees
SET salary = salary x 1.1 9:15 SET manager = 1342
WHERE employee_id = 2000; WHERE employee_id = 1000;
ORA-00060:
Deadlock detected while 9:16
waiting for resource
Ahmed Naguib
16 ORACLE administration by Ahmed Naguib
Ahmed Naguib
17 ORACLE administration by Ahmed Naguib
Quiz
Ahmed Naguib
18 ORACLE administration by Ahmed Naguib
Quiz
Ahmed Naguib
19 ORACLE administration by Ahmed Naguib
Summary
Ahmed Naguib
20 ORACLE administration by Ahmed Naguib
Practice: Overview
Ahmed Naguib
21 ORACLE administration by Ahmed Naguib