Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: Mechanism of consistent reads
If the block is not found, it is read from the disk and put on the list. If there is not enough free memory, the least touched block is removed form the list to make room. The removed block cannot be dirty (if it is, then what - another one is removed, or DBWR is called to write it?)
...you're forgetting LRUs. The LRU for a missed lookup (kcbget) is not some other block that hashes to that particular chain. After a miss, the session gets an LRU latch and picks a free LRU buffer, chains it in, and does the I/O. The buffer is marked as I/O in flight and any other interested session will wait on it..it is a busy buffer when I/O is in flight. This is where NUMA awareness comes in for those ports that do NUMA...oh, that remindes me, I'm supposed to be blogging on that.
-- http://www.freelists.org/webpage/oracle-lReceived on Tue Jan 16 2007 - 10:59:15 CST
![]() |
![]() |