一. Oracle Checkpoint 说明
1.1 Checkpoint
(1)A synchronization event at aspecific point in time
(2)Causes some or all dirty blockimages to be written to the database thereby guaranteeing that blocks dirtiedprior to that point in time get written
(3)Brings administration up to date
(4)Several types of checkpoint exist
http://blog.csdn.net/tianlesoftware/article/details/5251916
Oracle 实例恢复时 前滚(roll forward) 后滚(rollback) 问题
http://blog.csdn.net/tianlesoftware/article/details/6286330
1.2 the point of Oracle Checkpoints
The point of Oracle checkpoints is to synchronize all datafiles, some datafiles orsome objects to a point in time for consistency, performance and recoverabilitypurposes.
1.3 Buffer Cache
checkpoint与Buffer Cache 的关系很大,有关Buffer cache,之前整理的相关文章如下:
http://blog.csdn.net/tianlesoftware/article/details/6573438
Oracle Buffer Cache 中的Recycle Pool 说明
http://blog.csdn.net/tianlesoftware/article/details/6584110
Oracle Buffer Cache 中 KeepPool 说明
http://blog.csdn.net/tianlesoftware/article/details/6581159
1.3.1 buffer cache 组成
The buffer cache component structures are:
(1)Buffers
Eachbuffer may hold an image of one data block at any one time
(2)Buffer headers
=>Storemetadata about contents of the buffers
=>Actas cache management structures
(3)Buffer pools
Collectionof buffers used for the same purpose and managed accordingly
(4)Working set
=>Allor part of a buffer pool
=>Assigned to a DBWn process
1.3.2 Buffer Management
(1) Cached buffers managed by doublylinked lists:
(2) REPL
=>Bufferscontaining block images being used
(3) REPL-AUX
=>Buffersready to be used for I/O or CR build
关于CR 参考:
CR (consistent read) blockscreate 说明
http://blog.csdn.net/tianlesoftware/article/details/6529401
(4) WRITE and CKPT-Q
=>DirtyBuffers requiring I/O
(5) WRITE-AUX
=>DirtyBuffers with I/O in progress
(6) Touch count is used to decide theinitial insertion location in the REPL chain
(7) AUX lists avoid wasteful scanning
1.3.3 Redo and the Buffer Cache
(1) Block modification dirties thebuffer containing the block image and generates redo
(2) A buffer becomes dirty at aparticular RBA which is a point in the redo stream
关于RBA,参考我的blog:
Oracle RBA(Redo Byte Address) 说明
http://blog.csdn.net/tianlesoftware/article/details/6700080
(3) Redo written by LGWR makes thecorresponding part of the redo log file “active”
(4) Dirty block images written by DBWnmakes the corresponding part of the redo log file “inactive”
(5) Redo is always written priorto the corresponding block images
(6) Size of active redo in the logfile influences instance and crash recovery time
(7) Trade-off between performance andrecovery time
1.3.4 Buffer Cache I/O
(1)Servers look for an availablebuffer on REPL-AUX then read a data block into selected buffer
Link URL: http://blog.csdn.net/tianlesoftware/article/details/6700085