Oracle Checkpoint

dawn009發表於2015-04-03

Overview of Checkpoints

A is a crucial mechanism in consistent database shutdowns, instance recovery, and Oracle Database operation generally. The term checkpoint has the following related meanings:

  • A data structure that indicates the checkpoint position, which is the in the redo stream where instance recovery must begin

    The checkpoint position is determined by the oldest dirty buffer in the database buffer cache. The checkpoint position acts as a pointer to the redo stream and is stored in the control file and in each data file header.

  • The writing of modified database buffers in the to disk

Purpose of Checkpoints

Oracle Database uses checkpoints to achieve the following goals:

  • Reduce the time required for recovery in case of an instance or media failure

  • Ensure that dirty buffers in the buffer cache are written to disk regularly

  • Ensure that all committed data is written to disk during a consistent shutdown

When Oracle Database Initiates Checkpoints

The checkpoint process (CKPT) is responsible for writing checkpoints to the data file headers and control file. Checkpoints occur in a variety of situations. For example, Oracle Database uses the following types of checkpoints:

  • Thread checkpoints

    The database writes to disk all buffers modified by redo in a specific thread before a certain target. The set of thread checkpoints on all instances in a database is a database checkpoint. Thread checkpoints occur in the following situations:

    • Consistent database shutdown

    • ALTER SYSTEM CHECKPOINT statement

    • Online redo log switch

    • ALTER DATABASE BEGIN BACKUP statement

  • Tablespace and data file checkpoints

    The database writes to disk all buffers modified by redo before a specific target. A tablespace checkpoint is a set of data file checkpoints, one for each data file in the tablespace. These checkpoints occur in a variety of situations, including making a tablespace read-only or taking it offline normal, shrinking a data file, or executing ALTER TABLESPACE BEGIN BACKUP.

  • Incremental checkpoints

    An incremental checkpoint is a type of thread checkpoint partly intended to avoid writing large numbers of blocks at online redo log switches. DBWn checks at least every three seconds to determine whether it has work to do. When DBWn writes dirty buffers, it advances the checkpoint position, causing CKPT to write the checkpoint position to the control file, but not to the data file headers.

Other types of checkpoints include instance and media recovery checkpoints and checkpoints when schema objects are dropped or truncated.

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29119536/viewspace-1485263/,如需轉載,請註明出處,否則將追究法律責任。

相關文章