Oracle中的checkpoint程式

lawzjf發表於2007-03-26
The checkpoint (CKPT) process is charged with telling the database writer process when to write
the dirty data in the memory buffers to disk. After telling the database writer process to write the
changed data, the checkpoint process updates the data file headers and the control file to indicate
when the checkpoint was performed. The purpose of the checkpoint process is to synchronize the
buffer cache information with the information on the database disks.
Each checkpoint record consists of a list of all active transactions and the address of the most
recent log record for those transactions. A checkpointing process involves the following steps:
1. Flushing the contents of the redo log buffers to the redo log files
2. Writing a checkpoint record to the redo log file
3. Flushing the contents of the database buffer cache to disk
4. Updating the data file headers and the control files after the checkpoint completes
There is a close connection between how often Oracle checkpoints and the recovery time after
a database crash. Because database writer processes write all modified blocks to disk at checkpoints,
the more frequent the checkpoints, the less data will need to be recovered when the instance
crashes. However, checkpointing involves an overhead cost. Oracle lets you configure the database
for automatic checkpoint tuning, whereby the database server tries to write out the dirty buffers in
the most efficient way possible, with the least amount of adverse impact on throughput and performance.
If you use automatic checkpoint tuning, you don’t have to set any checkpoint-related
parameters.

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

相關文章