Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Does a commit cause a checkpoint?
Peter wrote:
> On Thu, 19 Jun 2003 00:41:45 GMT, Hans Forbrich
> <forbrich_at_telusplanet.net> wrote:
>
> A logswitch causes a checkpoint which causes LGWR to flush the redo
> log buffer, but no change in SCN
>
> A checkpoint causes the DBWn to write to file, and also causes the
> LGWR to flush the redo buffer, but no change in SCN
Basically correct .... the stuff below is from the various documentation to support this and expand into exceptions, strange conditions, etc.
/Hans
From "Oracle9i Database Performance Tuning Guide and Reference Release 2 (9.2) Part Number
A96533-02", chapter 17, (where you can learn a bt more about the impact to a running database)
... in section "
Checkpointing and Cache Recovery"
>>>>>>>>>>
Periodically, Oracle records a checkpoint. A checkpoint is the highest system change number
(SCN) such that all data blocks less than or equal to that SCN are known to be written out to
the data files. If a failure occurs, then only the redo records containing changes at SCNs
higher than the checkpoint need to be applied during recovery.
<<<<<<<<<<
From Oracle9i Database Concepts, Release 2 (9.2), Part Number A96524-01, Chapter 1, in the section about Process Architecture, we see
<<<<<<<<
Checkpoint (CKPT)
At specific times, all modified database buffers in the SGA are written to the datafiles by
DBWn. This event is called a checkpoint. The checkpoint process is responsible for signaling
DBWn at checkpoints and updating all the datafiles and control files of the database to indicate
the most recent checkpoint.
>>>>>>>>
See Also: checkpoint
3) datafile checkpoint
The checkpoint structure stored in the header of each datafile. All redo in all threads prior to
the datafile checkpoint SCN is guaranteed to have been saved to the datafile.
4) offline-end checkpoint
The SCN that specifies when a datafile was brought online after being offline, or made
read/write after being read-only. This SCN is stored in the control file and is the last SCN in
the offline range. The offline-end checkpoint is important because it indicates that changes
after this SCN are required to recover the datafile.
5) thread checkpoint
A type of checkpoint stored in the control file indicating that all changes to online datafiles
in a given thread prior to the checkpoint SCN have been saved to disk. Oracle updates the thread
checkpoint every time an instance checkpoints its thread.
And finally I suggest you read the "Oracle9i Database Concepts, Release 2 (9.2) Part Number A96524-01", Chapter 8 "Process Architecture" which has some decent diagrams and an excellent section on the Log Writer which support and expands this. Received on Wed Jun 18 2003 - 22:15:33 CDT