checkpoint公司怎么样 checkpoint小议
checkpoint小议
什么是checkpoint?

checkpoint是一个数据库事件 它将已修改的数据从高速缓存刷新到磁盘 并更新控制文件和数据文件
什么时候发生checkpoint?
我们知道了checkpoint会刷新脏数据 但什么时候会发生checkpoint呢?以下几种情况会触发checkpoint
当发生日志组切换的时候
当符合LOG_CHECKPOINT_TIMEOUT LOG_CHECKPOINT_INTERVAL fast_ start_io_target fast_ start_mttr_target参数设置的时候
当运行ALTER SYSTEM SWITCH LOGFILE的时候
当运行ALTER SYSTEM CHECKPOINT的时候
当运行alter tablespace XXX begin backup end backup的时候
当运行alter tablespace datafile offline的时候;
增量检查点(incremental checkpoint)
oracle 以后推出了incremental checkpoint的机制 在以前的版本里每次checkpoint时都会做一个full thread checkpoint 这样的话所有脏数据会被写到磁盘 巨大的i/o对系统性能带来很大影响 为了解决这个问题 oracle引入了 checkpoint queue机制 每一个脏块会被移到检查点队列里面去 按照low rdb(第一次对此块修改对应的redo block address)来排列 靠近检查点队列尾端的数据块的low rba值是最小的 而且如果这些赃块被再次修改后它在检查点队列里的顺序也不会改变 这样就保证了越早修改的块越早写入磁盘 每隔 秒钟ckpt会去更新控制文件和数据文件 记录checkpoint执行的情况
数据字典
完全检查点
select * from X$KCCRT where indx= ;
这里显示了上一次的完全检查点是在 / / : : 发生 所以我们推断 / / : : 发生了一次日志切换 再去操作系统上去看生产的归档 果然 有一个归档生产
rw r oracle oinstall Jun : _ dbf
增量检查点
SQL> select * from X$KCCCP where indx= ;
lishixinzhi/Article/program/Oracle/201311/18348