Home » RDBMS Server » Server Administration » Checkpoints and Commits
Checkpoints and Commits [message #191901] Fri, 08 September 2006 09:24 Go to next message
KenJ
Messages: 69
Registered: July 2006
Location: London
Member
All,

A commit writes data from the buffer cache to the redo log buffer and thereby (via LGWR) to the redo log on disk. The undo segment associated with this committed transaction will then be released. The dirty blocks in the buffer cache are not written to the datafiles until a checkpoint.

If user A commits an update statement, a checkpoint is not performed and user B selects from the row which has been updated by user A, where does Oracle source this data as this data is not contained in the datafiles and the undo segment has been released. Will the server source this data from the dirty block in the buffer cache?

I need some guidance here please.

Thanks,

Ken.

n.b. I have read and reread the docs to no avail.
Re: Checkpoints and Commits [message #192005 is a reply to message #191901] Sat, 09 September 2006 14:15 Go to previous messageGo to next message
tridentadm
Messages: 142
Registered: March 2006
Senior Member
here there are 2 things :

1) user B accessing data prior to update by user A
2) user B accessing data after update by user A

read consistent image will be taken by getting information from Undo.

combination of Undo + Redo will give the results. << but not sure on this... Sad

buffer cache will be used, (again will use undo, if block is dirty) to build a read consistent image.
Re: Checkpoints and Commits [message #192138 is a reply to message #191901] Mon, 11 September 2006 03:23 Go to previous message
JSI2001
Messages: 1016
Registered: March 2005
Location: Scotland
Senior Member
Quote:

A commit writes data from the buffer cache to the redo log buffer and thereby (via LGWR) to the redo log on disk.

Not quite.

A commit flushes the contents of the redo log buffer to the online redo log files. The redo log buffer is written to prior to any blocks being changed.

Quote:

The undo segment associated with this committed transaction will then be released.
Basically yes, with the caveat that undo_retention = 0. If not, then the undo block will try to retain this information for as long as the undo_retention states.

Quote:

Will the server source this data from the dirty block in the buffer cache?

Yes



Previous Topic: ora 4030 while using logminer
Next Topic: DIM-00019:create servive error
Goto Forum:
  


Current Time: Fri Sep 20 08:19:24 CDT 2024