Know more about checkpoint checkpoint 分成很多种 full 、file、thread、parallel query、 object 、incremental 、logfile switch <wbr>Full Checkpoint<br><br> Writes block images to the database for all dirty buffers from all instances<br><br> Statistics updated:<br> DBWR checkpoints<br> DBWR checkpoint buffers written<br> DBWR thread checkpoint buffers written<br><br> Caused by:<br> Alter system checkpoint [global]<br> Alter database begin backup<br> Alter database close<br> Shutdown<br><br> Controlfile and datafile headers are updated<br> CHECKPOINT_CHANGE#<br><br> Thread Checkpoint<br><br> Writes block images to the database for all dirty buffers from one instance<br><br> Statistics updated:<br> DBWR checkpoints<br> DBWR checkpoint buffers written<br> DBWR thread checkpoint buffers written<br><br> Caused by:<br> Alter system checkpoint local<br><br> Controlfile and datafile headers are updated<br> CHECKPOINT_CHANGE#<br><br><br> File Checkpoint<br><br> Writes block images to the database for all dirty buffers for all files of a tablespace from all instances<br> Statistics updated:<br><br> DBWR tablespace checkpoint buffers written<br> DBWR checkpoint buffers written<br> DBWR checkpoints<br><br> Caused by:<br><br> Alter tablespace XXX offline<br> Alter tablespace XXX begin backup<br> Alter tablespace XXX read only<br><br> Controlfile and datafile headers are updated<br> CHECKPOINT_CHANGE#<br><br><br> Parallel Query Checkpoint<br><br> Writes block images to the database for all dirty buffers belonging to objects accessed by the query from all instances<br><br> Statistics updated:<br> DBWR checkpoint buffers written<br> DBWR checkpoints<br><br> Caused by:<br> Parallel Query<br> Parallel Query component of PDML or PDDL<br> Mandatory for consistency<br><br><br> Object “Checkpoint”<br><br> Writes block images to the database for all dirty buffers belonging to an object from all instances<br><br> Statistics updated:<br><br> DBWR object drop buffers written<br> DBWR checkpoints<br><br> Caused by:<br> Drop table XXX<br> Drop table XXX purge<br> Truncate table XXX<br> Mandatory for media recovery purposes<br><br><br> Incremental Checkpoint<br><br> Writes the contents of “some” dirty buffers to the database from CKPT-Q<br> Block images written in SCN order<br> Checkpoint RBA updated in SGA<br><br> Statistics updated:<br> DBWR checkpoint buffers written<br><br> Controlfile is updated every 3 seconds by CKPT<br> Checkpoint progress record<br><br><br> Log Switch Checkpoint(8i 以前 LOG switch checkpoint是FULL CHECKPOINT)<br><br> Writes the contents of “some” dirty buffers to the database<br><br> Statistics updated:<br><br> DBWR checkpoints<br> DBWR checkpoint buffers written<br> background checkpoints started<br> background checkpoints completed<br><br> Controlfile and datafile headers are updated<br> CHECKPOINT_CHANGE#</wbr> <wbr></wbr> 无论是什么类型的checkpoint 检查点 ,所有的本地检查点(CKPT)已类似的本地化方法处理。 每一个实例中所有本地的活跃检查点请求(active local checkpoint request)都保存在一个队列(queue)中,这个队列叫做 Active Checkpoint Queue。 在这个队列(queue)中的每一条记录代表一个本地检查点(local checkpoint request)。 当某一个进程( 可能是前台进程 foreground process --例如前台进程执行“alter tablespace users begin/end backup", 也可能是CKPT 或者其他后台进程) , 这个进程都会将新的 request 记录放到这个Active Checkpoint Queue中。 典型的一个checkpoint request 由 检查点类型checkpoint request type,优先级priority , 以及与该checkpoint request 关联的checkpoint structure, 等待进程 waiter process, 还有其余一些相关的属性如 FILE Checkpoint 的tablespace id、FILE NUMBER、 Object checkpoint的object id 等。 <wbr></wbr> | |
<wbr></wbr> | |
<wbr></wbr> | <wbr></wbr> |
<wbr></wbr>
<wbr></wbr> | <wbr></wbr> |