Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Redo Log Mechanics Question
My understanding of how the redo log system works must be missing
something because I don't understand what good it could do for recovery.
Here's what I think I know; Uncommitted transactions are stored in the Redo Log Buffer until a commit, a checkpoint, a LGWR timeout, or 2/3rds full. LGWR then flushes everything to the online Redo Log Files. When a Redo Log Group is full there is a log switch. This kicks off a checkpoint. A checkpoint causes all dirty db buffers covered by the log to be flushed to datafiles.
Here's what I don't understand... what happens to an UNcommited transaction? If a transaction is uncommitted at the time of a Log Buffer flush then it sounds like it gets written to the Redo Log Files. If it's still uncommitted at the time of a log switch then what happens? Will it eventually be overwritten as the Redo Log Files come full circle and that particular group gets overwritten? Am I correct in assuming that this would make instance recovery impossible?
Thanks in advance!
Roger Westbrook
sidhe_at_home.net
Received on Thu Jun 10 1999 - 12:41:45 CDT