Oracle Undo Data Versus Redo Data


Undo data and redo data seem similar at first, but they serve different purposes. Undo data is needed if there is the need to undo a change, and this occurs for read consistency and rollback. 


Redo data is needed if there is the need to perform the changes again, in cases where they are lost for some reason. Undo block changes are also written to the redo log.


The process of committing entails a verification that the changes in the transaction have been written to the redo log file, which is persistent storage on the disk, as opposed to memory. In addition, the redo log file is typically multiplexed. As a result, there are multiple copies of the redo data on the disk. Although the changes may not yet have been written to the data files where the table’s blocks are actually stored, writing to the persistent redo log is enough to guarantee consistency of the database.


Suppose that a power outage occurs just before committed changes have been reflected in the data files. This situation does not cause a problem because the transaction has been committed. When the system starts up again, it is thus able to roll forward any redo records that are not yet reflected in data files at the time of the outage.


Read more about UNDO 
http://www.mybasicknowledge.com/2012/06/oracle-undo-data.html

Read more about REDO
http://www.mybasicknowledge.com/2012/06/redo-log-files.html