A Checkpoint is a database event which
synchronizes the modified data blocks in memory with the datafiles on disk and CKPT process updates the control file and
datafile headers with last SCN.
A checkpoint has two purposes: (1) to
establish data consistency, and (2) enable faster database
recovery. How is recovery faster? Because all database
changes up to the checkpoint have been recorded in the datafiles, making it
unnecessary to apply redo log entries prior to the checkpoint. The checkpoint
must ensure that all the modified buffers in the cache are really written to
the corresponding datafiles to avoid the loss of data which may occur with a
crash (instance or disk failure).
Oracle writes the
dirty buffers to disk only on certain conditions:
- A shadow process must scan more than one-quarter of the db_block_buffer parameter.
- Every three seconds.
- When a checkpoint is produced.
- A shadow process must scan more than one-quarter of the db_block_buffer parameter.
- Every three seconds.
- When a checkpoint is produced.
A checkpoint is
realized on five types of events:
- At each switch of the redo log files.
- When the delay for LOG_CHECKPOINT_TIMEOUT is reached.
- When the size in bytes corresponding to :
(LOG_CHECKPOINT_INTERVAL* size of IO OS blocks) is written on the current redo log file.
- Directly by the ALTER SYSTEM SWITCH LOGFILE command.
- Directly with the ALTER SYSTEM CHECKPOINT command.
- At each switch of the redo log files.
- When the delay for LOG_CHECKPOINT_TIMEOUT is reached.
- When the size in bytes corresponding to :
(LOG_CHECKPOINT_INTERVAL* size of IO OS blocks) is written on the current redo log file.
- Directly by the ALTER SYSTEM SWITCH LOGFILE command.
- Directly with the ALTER SYSTEM CHECKPOINT command.
During a
checkpoint the following occurs:
- The database writer (DBWR) writes all modified database blocks in the buffer cache back to datafiles,
- Log writer (LGWR) updates both the controlfile and the datafiles to indicate when the last checkpoint occurred (SCN)
- The database writer (DBWR) writes all modified database blocks in the buffer cache back to datafiles,
- Log writer (LGWR) updates both the controlfile and the datafiles to indicate when the last checkpoint occurred (SCN)
Various types of
checkpoints in Oracle :
• Full checkpoint
• Thread checkpoint
• File checkpoint
• Parallel Query checkpoint
• Object checkpoint
• Log switch checkpoint
• Incremental checkpoints
• Full checkpoint
• Thread checkpoint
• File checkpoint
• Parallel Query checkpoint
• Object checkpoint
• Log switch checkpoint
• Incremental checkpoints
No comments:
Post a Comment