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.
Dig Deeper on Oracle database backup and recovery
Related Q&A from Brian Peasland
Oracle expert Brian Peasland answers one reader's question about common pitfalls when connecting Oracle to outside programs. Continue Reading
One reader asks expert Brian Peasland a question about datafile sizes with the Oracle RMAN duplicate 10g command. Continue Reading
Managing parent table-child table relations in Oracle SQL environments is key to efficient programming. Continue Reading