Thanks a ton.
Praveen Kumar, January 25, 2005 - 3:44 pm UTC
I am satisfied by the answer and also impressed by the clarity and promptness of the reply.
No wonder we jump to you whenever we are in doubt. Thanks again.
Typo
Jon, January 26, 2005 - 12:39 am UTC
I think you might have a slight typo:
a) redo is applied catching ALL SEGMENTS (and redo is a segment)
should read:
a) redo is applied catching ALL SEGMENTS (and rollback is a segment)
correct?
January 26, 2005 - 8:42 am UTC
yes, thanks -- i had redo on the brain :)
Confused
A reader, January 26, 2005 - 9:05 am UTC
The original poster said..
"3.After some time the DBWR writes the modified blocks to disk. So the original
data in the respective blocks are no more available."
Wouldn't DBWR *waits* till the data is commited, so it can write the dirty buffers to disk successfully ?
January 26, 2005 - 9:25 am UTC
no, dbwr is not obligated to wait, and many times dbwr HAS to checkpoint blocks to disk that have been modified but not yet committed.
for example, I've posted demos where I update gigabytes of information, using a 64meg buffer cache.
It would not all fit in ram at the same time.
for previous poster...
Connor, January 26, 2005 - 9:20 am UTC
dbwr may need to write out dirty buffers before commit - if space is needed in the cache for incoming buffers.