1.原理
instance恢复一般来说是oracle自己进行恢复,他的工作原理是根据数据文件块header中的SCN和redo logfile中SCN不同步
2.步骤
2.1 往前滚
首先oracle通过redo log file 和archive log file 将最后一个检查点之前的数据写入对应的数据文件中并且将该事务提交,然后将最后一个检查点之后的信息也写入数据文件中,但是不会执行commit
2.2 打开数据库
oracle将数据库处于mount状态
2.3 往后滚
oracle 通过undo中的信息进行一个逻辑反行为,将最后一个检查点之后的数据回滚,将脏数据块转换为非脏数据块,并且写入磁盘。
3.dba需要调整的参数
3.1整体参数的调整
-- 数据库在故障之后恢复的平均时间 fast_start_mttr_target
show parameter mttr;
-- 两个检查点之间相差的块数 log_checkpoint_interval
show parameter checkpoint;
-- 上一次检查点发生到这一次检查点发生的时间 log_checkpoint_timeout
show parameter checkpoint
-- 规定了当前回复进程的数目 recovery_parallelism
show parameter recov
4.查看恢复instance时的信息
--! 提供恢复instance时,并发进程的信息,一行就是一个进程
v$fast_start_servers--! 每一行都是需要被回滚的transactions
v$fast_start_transactions