|
Databases handle transactions. That is their primary purpose in life. In
some situations, it may be necessary to undo, or reverse the effects of
a transaction. This is called "rolling back." When recovering a
database, it may be necessary to redo, or replay the effects of a
transaction. This is called "rolling forward."
Let's say that you took a backup of your database at noon on Monday. At
noon on Wednesday, the disk device holding your database completely
dies. Once you have a new disk unit, you can restore the contents of
your database to that disk device. But when you restore, the database
only holds those transactions that were completed since that Monday at
noon (when you took the backup). If you have archived your online redo
logs, then you can use these archived redo logs to roll forward all
transactions completed in the 48 hours between your backup and your
database crash. This is the recovery process, or the process of rolling
forward.
Unfortunately, when the disk device died, there were active
transactions that did not complete. In order to complete the recovery
process after rolling forward, the database needs to rollback those
transactions that did not commit.
|