oracle11g 手工热备实验
在做手工热备实验时,结束表空间备份模式后,将当前重做日志文件信息写入归档日志文件alter system archive log current;
再次查看当前数据文件检查点信息
select checkpoint_change#,file# from v$datafile;
发现
CHECKPOINT_CHANGE# FILE#
------------------ ----------
1025646 1
1025646 2
1025646 3
1025827 4
1025646 5
4号文件的检查点并没有提升。求解惑!!! 找到答案了。感谢百度
参考Maclean Liu的这篇文章:logfile switch causes incremental checkpoint?
注意里面的一段话:
/* logfile switch 日志文件切换引起的是一种slow慢的完全检查点,它不同于alter system checkpoint(ASC),
ASC要求的脏块写出和控制文件及数据文件头更新时要立即完成的,也就是说当alter system checkpoint语句返回"System altered."
后以上工作都已经完成了;而alter system switch logfile或者自然的日志切换引发的是一种慢的完全检查点,
它在返回"System altered"时不要求写脏块等工作必须已经完成
*/
上面这段话的意思是说alter system switch logfile命令发出后,数据库不是立即要求写脏块的,既然没有立即写脏块,那控制文件及数据文件头也就没有更新了。所以你发出alter system switch logfile命令后,马上查询视图V$DATABASE和V$DATAFILE_HEADER,看到的信息可能跟之前的一模一样。这时,要么等几分钟再查询那两个视图,要么按照Maclean Liu文章中提到的操作。或许就可以看到不一样的CHECKPOINT_CHANGE#了。
页:
[1]