REDO LOGS
hello friends ...Merry Christmas to every one.
Uncommitted records are kept in the UNDO tablespace .The moment we issue a commit , the committed records get written to online redo log files. From there the DBWn process keeps on writing these committed records to the datafiles based on the occurence of checkpoints . In case any failure occurs before the committed records are written to the datafiles , those records can be updated from the redo logs. This is what i know .
The lines from docs.oracle.com "Theonline redo logis a set of two or moreonline redo log filesthat record all changes made to the database, including both uncommitted and committed changes. Redo entries are temporarily stored in redo log buffers of the system global area, and the background process LGWR writes the redo entries sequentially to an online redo log file. LGWR writes redo entries continually, and it also writes a commit record every time a user process commits a transaction."
Now i need to know ..
1) Why does oracle bother about uncommitted changes ? Uncommitted changes are already in undo tablespace so why does it need to write it to the redo logs.
2) what do we mean by " it also writes a commit record every time a user process commits a transaction."
3) Also , is it a fact that the UNDO tablespace data survives even if the database is restarted ?