检查点

来源:互联网 发布:企业私有云计算 编辑:程序博客网 时间:2024/04/28 20:26
检查点位置(崩溃后,重做流中的实例恢复起点)由DBWn自动前移。这个过程成为“增


量检查点”。除此之外,还有“完整检查单”和“局部检查点”。
假设将所有的脏数据都写入磁盘,就会出现完整检查点。在常规运行中,可能存在几


十万个脏数据区,但是对于增量检查点,DBWn只写入其中的数百条。而对于完整检查


点,它将写入这些内容。为此,必须完成大量的工作:在执行检查点时,需要非常高


的cpu使用率和磁盘使用率,用户回话的性能会随之降低。完整检查点会对业务产生负


面影响。鉴于此,只有在两种情况下才执行完整检查点。第一种情况是有序关闭,第


二种是DBA要求这么做。
    当使用normal,immediate或transactional选项关闭数据库时,都会执行检查点


:在关闭和卸载数据库之前,DBWn会将所有的脏缓冲区刷新到磁盘中。这意味着,再


次打开数据库时,不需要执行任何回复操作。在执行某些操作(如启用归档日志模式


或闪回数据库功能)前,始终希望执行干净关闭。例如:
使用以下命令发出完整检查点信号:
SQL> alter system checkpoint;


System altered.
   对于某些操作而言,局部检查点时必须的,并会自动执行。局部检查点影响的缓冲


区因操作而异:
--------------------------------------------------------------
操作                                从缓存中刷新哪些缓存区
--------------------------------------------------------------
使表空间脱机                         表空间中的所有块
--------------------------------------------------------------
使数据文件脱机                       数据文件中的所有块
--------------------------------------------------------------
删除区间                               区间中的所有块
--------------------------------------------------------------
截断表                                    表中的所有块
--------------------------------------------------------------
将表空间置于备份模式                       表空间中的所有块
--------------------------------------------------------------
(注:只有在执行有序关闭时,以及应DBA请求才会执行完整检查点,而局部检查点将


根据需要自动执行)。
原创粉丝点击