Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Reading a comitted data before DBW writes it to the disk.

Reading a comitted data before DBW writes it to the disk.

From: Somu <soumya_ongc_at_yahoo.com>
Date: 2 Apr 2004 01:03:49 -0800
Message-ID: <9666da71.0404020103.7e174d21@posting.google.com>


Hi,
I have some doubts on the above mentioned topic.

As I understand, Oracle use Data buffer cache to store the data frm data file in memory for efficient transaction. Consider a case, when a row of a table is modified by a user,that means earlier row values are in roll back segment,current changed value in data buffer cache and info regarding this transaction in redo log buffer.Now suppose the user has committed the transaction.So redo log buffer content gets copied to redo log file.But as DBW writes to the data files at some time interval(viz 3 sec) and commit itself doesnot invoke any checkpoint so its clear that at this instance data files are not updated.Now suppose the user issues Select query to see that particular row fields ,now as par with data consistency Oracle will show the comitted data.

                 Now my question comes into picture.Where from Oracle
show this updated data? Apparently it seems from Data Buffer cache.So does this cache has information that explicitly says following info
           a)this block is changed but not comitted
           b)this block is changed and comitted but not written back
to data files
           c)this block is changed and comitted and written back to
data files

Waiting for some positive response.
Thanks and Regards
somu Received on Fri Apr 02 2004 - 03:03:49 CST

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US