检查点位置(崩溃后,重做流中的实例恢复起点)由DBWn自动前移。这个过程成为“增
量检查点”。除此之外,还有“完整检查单”和“局部检查点”。
假设将所有的脏数据都写入磁盘,就会出现完整检查点。在常规运行中,可能存在几
十万个脏数据区,但是对于增量检查点,DBWn只写入其中的数百条。而对于完整检查
点,它将写入这些内容。为此,必须完成大量的工作:在执行检查点时,需要非常高
的cpu使用率和磁盘使用率,用户回话的性能会随之降低。完整检查点会对业务产生负
面影响。鉴于此,只有在两种情况下才执行完整检查点。第一种情况是有序关闭,第
二种是DBA要求这么做。
当使用normal,immediate或transactional选项关闭数据库时,都会执行检查点
:在关闭和卸载数据库之前,DBWn会将所有的脏缓冲区刷新到磁盘中。这意味着,再
次打开数据库时,不需要执行任何回复操作。在执行某些操作(如启用归档日志模式
或闪回数据库功能)前,始终希望执行干净关闭。例如:
使用以下命令发出完整检查点信号:
SQL> alter system checkpoint;
System altered.
对于某些操作而言,局部检查点时必须的,并会自动执行。局部检查点影响的缓冲
区因操作而异:
--------------------------------------------------------------
操作 从缓存中刷新哪些缓存区
--------------------------------------------------------------
使表空间脱机 表空间中的所有块
--------------------------------------------------------------
使数据文件脱机 数据文件中的所有块
--------------------------------------------------------------
删除区间 区间中的所有块
--------------------------------------------------------------
截断表 表中的所有块
--------------------------------------------------------------
将表空间置于备份模式 表空间中的所有块
--------------------------------------------------------------
(注:只有在执行有序关闭时,以及应DBA请求才会执行完整检查点,而局部检查点将
根据需要自动执行)。
量检查点”。除此之外,还有“完整检查单”和“局部检查点”。
假设将所有的脏数据都写入磁盘,就会出现完整检查点。在常规运行中,可能存在几
十万个脏数据区,但是对于增量检查点,DBWn只写入其中的数百条。而对于完整检查
点,它将写入这些内容。为此,必须完成大量的工作:在执行检查点时,需要非常高
的cpu使用率和磁盘使用率,用户回话的性能会随之降低。完整检查点会对业务产生负
面影响。鉴于此,只有在两种情况下才执行完整检查点。第一种情况是有序关闭,第
二种是DBA要求这么做。
当使用normal,immediate或transactional选项关闭数据库时,都会执行检查点
:在关闭和卸载数据库之前,DBWn会将所有的脏缓冲区刷新到磁盘中。这意味着,再
次打开数据库时,不需要执行任何回复操作。在执行某些操作(如启用归档日志模式
或闪回数据库功能)前,始终希望执行干净关闭。例如:
使用以下命令发出完整检查点信号:
SQL> alter system checkpoint;
System altered.
对于某些操作而言,局部检查点时必须的,并会自动执行。局部检查点影响的缓冲
区因操作而异:
--------------------------------------------------------------
操作 从缓存中刷新哪些缓存区
--------------------------------------------------------------
使表空间脱机 表空间中的所有块
--------------------------------------------------------------
使数据文件脱机 数据文件中的所有块
--------------------------------------------------------------
删除区间 区间中的所有块
--------------------------------------------------------------
截断表 表中的所有块
--------------------------------------------------------------
将表空间置于备份模式 表空间中的所有块
--------------------------------------------------------------
(注:只有在执行有序关闭时,以及应DBA请求才会执行完整检查点,而局部检查点将
根据需要自动执行)。