命令描述
checkpoint由ckpt进程触发oracle进行checkpoint动作,将data buffer中的脏块(已经写在redo里记录但是没有写到datafile里的)的内容写入到data file里并释放占用的空间,由dbw后台进程完成,并修改controlfile和datafile的scn。
当关闭实例后,再启动报错,控制文件old control file,错误是因cache中的信息没有及时写入controlfile导致,避免的方法是在每次停库前,对DB作一次checkpoint, 即ALTER SYSTEM CHECKPOINT;
注意:alter system switch logfile;也会触发checkpoint,但只会对执行sql的那个节点,不会对RAC中的所有节点。
shutdown immediate本身就会执行一次full checkpoint,但提前执行ALTER SYSTEM CHECKPOINT;可以提高关闭速度
所以关闭实例最好使用非abort模式关库,即shutdown immediate;