user6300587 wrote:"Why not" he should see the newly inserted data? If you tell us this, probably the discussion would be more better.
I issue a simple insert
and perform "flush buffer cache" immediately.
I notice that I can query the new inserted data !!!!
crazyblood1903 wrote:Define what do you mean by "deleted" ? If its not going to stay in the buffer cache and won't be send to the data files, where else do you think that data would go? Checkpoint or no checkpoint, oracle would clean the buffer cache and preserve the images on th disk, to make sure that there is space in the buffer cache.
When I commit;
It will be written to redologs.
Suppose no checkpoint (The data is still in buffer cache not in datafiles).
When I flush buffer cache,this will be deleted from buffer cache and therefore this shouldnt not be written to datafiles.
Zapotocny wrote:Nop, its wrong. Flushing of cache just does what it says, flush contets to disk. It has nothing to do with checkpointing.
I read your demo,
As far as I understand,
When I issue "alter system flush buffer cache"
checkpoint occurs, and data in buffer cache is written to disk.
Is that right?
NONE of the events that trigger a checkpoint include ALTER SYSTEM FLUSH BUFFER CACHE.
Events that trigger a checkpoint The following events trigger a checkpoint. * Redo log switch * LOG_CHECKPOINT_TIMEOUT has expired * LOG_CHECKPOINT_INTERVAL has been reached * DBA requires so (alter system checkpoint) Additionally, if a tablespace is hot backuped, a checkpoint for the tablespace in question is taking place. While redo log switches cause a checkpoint, checkpoints don't cause a log switch.