Rollback segments are composed of extents
and data blocks just like tables, and all changes to rollback segment blocks are part
of the redo for a given transaction. For example, suppose that a user changed an
employee name from ???John??? to ???Jonathan.??? As Oracle applies the redo log, it will
260 | Chapter 11: Oracle and High Availability
read the block containing the employee row into the cache and redo the name
change. As part of recovering the transaction, Oracle will also write the old name
???John??? to a rollback segment, as was done for the original transaction.
When the rollforward phase is finished, all the changes for committed and uncommitted
transactions have been reproduced. The uncommitted transactions are in-flight
once again, just as they were at the time the crash occurred. This leads to the next
logical phase of instance recovery??”rollback. But before we discuss rollbacks themselves,
we need to look at how Oracle uses checkpoints and how the timing of
checkpoints can affect recovery time.
Fast-start fault recovery and bounded recovery time
Checkpoints cause an increase in I/O since the database writer flushes all the database
blocks to disk to bring the datafiles up to the time of the checkpoint.
Pages:
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571