Instance Recovery [message #261151] |
Wed, 22 August 2007 01:05 |
gajini
Messages: 262 Registered: January 2006
|
Senior Member |
|
|
Hi,
Consider the following steps,
1. uncommitted data is flushed to the disk and
2. corresponding rollback is also flushed
3. corresponding redo is later overwritten
4. instance crash.
How the instance recovery will happen when corresponding redo
is overwritten since redo is required to construct REDO for roll forward
and to construct UNDO for roll backward operation?
Thanks...
|
|
|
|
|
Re: Instance Recovery [message #261180 is a reply to message #261151] |
Wed, 22 August 2007 01:57 |
gajini
Messages: 262 Registered: January 2006
|
Senior Member |
|
|
Thanks Michel,
Consider the following steps,
1. uncommitted data is flushed to the disk and
2. corresponding rollback is also flushed
3. committed the transaction mentioned in step1
4. corresponding redo containing commit info is later overwritten
5. corresponding rollback segment is also overwritten
6. instance crash.
Now how the Oracle will find the info to make uncommitted changes in disk to COMMITTED one?
|
|
|
|
Re: Instance Recovery [message #261542 is a reply to message #261151] |
Thu, 23 August 2007 00:32 |
gajini
Messages: 262 Registered: January 2006
|
Senior Member |
|
|
Hi Michel,
I read the following things that will happen after a commit,
"After a commit, the log writer process (LGWR) will write redo log entries from the SGA (Log Buffer) into the online redo log file. The background process DBWr will then copy the 'new' data from the redo log file into the datafile."
Is it true that DBWR will flush committed block from buffer to datafile during commit operation?
|
|
|
|
|
|
Re: Instance Recovery [message #261599 is a reply to message #261151] |
Thu, 23 August 2007 02:02 |
Arju
Messages: 1554 Registered: June 2007 Location: Dhaka,Bangladesh. Mobile:...
|
Senior Member |
|
|
Michel, From Concepts.
Quote: | The data changes for a committed transaction, stored in the database buffers of the SGA, are not necessarily written immediately to the datafiles by the database writer (DBWn) background process. This writing takes place when it is most efficient for the database to do so. It can happen before the transaction commits or, alternatively, it can happen some time after the transaction commits.
|
[Updated on: Thu, 23 August 2007 02:19] by Moderator Report message to a moderator
|
|
|
|
Re: Instance Recovery [message #261691 is a reply to message #261599] |
Thu, 23 August 2007 06:19 |
pablolee
Messages: 2882 Registered: May 2007 Location: Scotland
|
Senior Member |
|
|
Arju, I think you may have read the wrong emphasis on your above quoted statement.
I think you may have read it as
[snip] are not necessarily written immediately to the datafiles by the database writer (DBWn) background process.
Whereas the emphasis should be
[snip] are not necessarily written IMMEDIATELY to the datafiles by the database writer (DBWn) background process.
I could be wrong of course.
|
|
|
|
|