280 likes | 397 Views
This course material discusses how transactions handle rollback segments within Oracle databases, focusing on transaction management, extent allocation, and deadlock scenarios. It covers how transactions (T1 and T2) write to rollback segments E3 and E4, the allocation of new extents when the existing ones are full, and how the DBA_ROLLBACK_SEGS data dictionary table provides information about rollback segments. The importance of maintaining data consistency through snapshots and handling deadlocks is also highlighted.
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.