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 administration
Related Q&A from Brian Peasland
In this expert answer, Brian Peasland explains how to call a stored procedure inside user-defined functions in Oracle Database. Continue Reading
One reader asks how he can make a copy of his Oracle Database but not have any data in it, for test purposes. Continue Reading
Learn how to add disk to ASM diskgroup with two-way mirroring and how to specify a failgroup in this tip from Oracle expert Brian Peasland. Continue Reading