Checkpoint [message #49971] |
Thu, 21 February 2002 03:03 |
Richard
Messages: 44 Registered: May 2000
|
Member |
|
|
All,
Second question in a week, again from a total beginner. In laymens terms, what is a checkpoint, and what does it do?
Thanks in advance.
Richard
|
|
|
Re: Checkpoint [message #49972 is a reply to message #49971] |
Thu, 21 February 2002 03:17 |
Marks
Messages: 11 Registered: February 2002
|
Junior Member |
|
|
At specific times, all modified database buffers in the SGA are written to the data files by DBWR; this event is called a checkpoint. The checkpoint background process is responsible for signalling DBWR at checkpoints and updating all the data files and control files of the database to indicate the most recent checkpoint. CKPT is optional; if not present, LGWR assumes the responsibilities of CKPT.
|
|
|
Re: Checkpoint [message #49984 is a reply to message #49971] |
Thu, 21 February 2002 12:46 |
saleem
Messages: 65 Registered: January 2002
|
Member |
|
|
also note that you can force checkpoints to happen with commands like 'alter system checkpoint' which helps sometimes when you need to ensure that the database is in synch.
|
|
|
Re: Checkpoint [message #52741 is a reply to message #49971] |
Fri, 09 August 2002 09:36 |
kwalther
Messages: 9 Registered: April 2002
|
Junior Member |
|
|
Checkpoint is a process (CKPT) and it's also the position in the redo log thread from which crash or instance recovery begins. When you force a checkpoint by issuing a ALTER SYSTEM CHECKPOINT; or ALTER SYSTEM SWITCH LOGFILE;
you just set up a point in time from which crash or instance recovery begins. In that light it's a concept.
Checkpoint is also a process(CKPT), one of five that make up the SGA background processes. DBWR, LGWR, CKPT, SMON and PMON are the five background processes.
The CKPT process will trigger DBWR to write dirty buffers to disk, or DBWR will write them to disk automatically when the ratio of dirty to clean falls below a certain threshold.
When a checkpoint occurs, Oracle must update the headers of all datafiles to record the details of the checkpoint. This is done by the CKPT process. The CKPT process does not write blocks to disk; DBWn always performs that work.
The CKPT process updates the datafile headers and the control file with information.
The size of a redo log file directly influences checkpoint performance. The smaller the size of the smallest log, the more aggressively Oracle writes dirty buffers to disk to ensure that the position of the checkpoint has advanced to the current log before that log completely fills. Forcing the checkpoint to advance into the current log before it fills means that Oracle does not need to wait for the checkpoint to advance out of a redo log file before it can be reused. Oracle enforces this behavior by ensuring that the number of redo blocks between the checkpoint and the most recent redo record is less than 90% of the size of the smallest log.
|
|
|