280 likes | 385 Views
Dr. Ouyang, CS 643, Spring 2001. A transaction starts with the first executable SQL statement and ends with any one of the following:. Transaction in Oracle. explicitly by COMMIT/ROLLBACKimplicitly by a DDL statementdisconnected normally by user ? auto committerminated abnormally ? auto rollback.
E N D
1. Dr. Ouyang, CS 643, Spring 2001
2. Dr. Ouyang, CS 643, Spring 2001
3. Dr. Ouyang, CS 643, Spring 2001
4. Dr. Ouyang, CS 643, Spring 2001 T1 and T2 begin writing in the third extent (E3) and continue writing to the fourth extent (E4) of a rollback segment. T1 and T2 begin writing in the third extent (E3) and continue writing to the fourth extent (E4) of a rollback segment.
5. Dr. Ouyang, CS 643, Spring 2001 When E4 is completely full, T1 and T2 continue any further writing to the next extent allocated for the rollback segment that is available; in this figure, E1 is the next extent. When E4 is completely full, T1 and T2 continue any further writing to the next extent allocated for the rollback segment that is available; in this figure, E1 is the next extent.
6. Dr. Ouyang, CS 643, Spring 2001 When E4 is completely full, the transactions cannot continue further writing to the next extent in sequence, E1, because it contains active rollback entries. Therefore, Oracle allocates a new extent, E5, for this rollback segment, and the transactions continue writing to this new extent.When E4 is completely full, the transactions cannot continue further writing to the next extent in sequence, E1, because it contains active rollback entries. Therefore, Oracle allocates a new extent, E5, for this rollback segment, and the transactions continue writing to this new extent.
7. Dr. Ouyang, CS 643, Spring 2001 The data dictionary table DBA_ROLLBACK_SEGS lists the state of each rollback segment, along with other rollback information. The data dictionary table DBA_ROLLBACK_SEGS lists the state of each rollback segment, along with other rollback information.
8. Dr. Ouyang, CS 643, Spring 2001
9. Dr. Ouyang, CS 643, Spring 2001
10. Dr. Ouyang, CS 643, Spring 2001
11. Dr. Ouyang, CS 643, Spring 2001
12. Dr. Ouyang, CS 643, Spring 2001
13. Dr. Ouyang, CS 643, Spring 2001
14. Dr. Ouyang, CS 643, Spring 2001
15. Dr. Ouyang, CS 643, Spring 2001
16. Dr. Ouyang, CS 643, Spring 2001
17. Dr. Ouyang, CS 643, Spring 2001
18. Dr. Ouyang, CS 643, Spring 2001 Each query returns all committed data with respect to the SCN recorded at the time that query execution began. Changes of other transactions that occur during a query's execution are not observed, guaranteeing that consistent data is returned for each query.Each query returns all committed data with respect to the SCN recorded at the time that query execution began. Changes of other transactions that occur during a query's execution are not observed, guaranteeing that consistent data is returned for each query.
19. Dr. Ouyang, CS 643, Spring 2001
20. Dr. Ouyang, CS 643, Spring 2001
21. Dr. Ouyang, CS 643, Spring 2001
22. Dr. Ouyang, CS 643, Spring 2001
23. Dr. Ouyang, CS 643, Spring 2001
24. Dr. Ouyang, CS 643, Spring 2001
25. Dr. Ouyang, CS 643, Spring 2001
26. Dr. Ouyang, CS 643, Spring 2001
27. Dr. Ouyang, CS 643, Spring 2001
28. Dr. Ouyang, CS 643, Spring 2001 A deadlock results at time point B, because neither transaction can obtain the resource it needs to proceed or terminate. It is a deadlock because no matter how long each transaction waits, the conflicting locks are held. A deadlock results at time point B, because neither transaction can obtain the resource it needs to proceed or terminate. It is a deadlock because no matter how long each transaction waits, the conflicting locks are held.