Undo vrs Flashback vrs Redo
Hi,
can anyone give a potted explaination of the difference between undo segments, flashback logs and redo logs ?
My understanding is this -
Undo Segments hold before images of data blocks. However they only persist for as long as the instance is up and deal with rollback and crashes
Flashback logs likewise hold before images. However being log files, these persist across instance bounces and are more for undoing user error
Redo Logs hold change vectors ( I presume this does not include any before image ? )
Are these for uncommited transactions, committed transactions or both ( do commited ones get flushed when the DBWR actually makes the change to the data file ? )
Therefore undo and flashback are primarily for moving backwards ( though they are different rollback mechanisms with flashback being able to transcend database bounces ), redo is for moving forwards ( more traditional recovery ) ?