1.defferred rollback:在前滚完成后,数据就open,而在open后做恢复
a.smon
b.user process
2.fast start parallel rollback
fast start parallel rollback主要是在宕机之前进行了大事务,使用并行回滚
加快恢复的进度,smon做为并行进程的调度进程
3.intra-transaction recovery
一个大事务有多个并行进程进行恢复
4.on-demand rollback:
并行恢复可以加快用户恢复的进度,但是用户读取到的块包含锁必须等到smon完成并行
恢复完成后才能做操作,因此引入了on-demand rollback,server process检测到数据
块上包含锁的时候,自行完成恢复,而避免等待smon完成恢复,server process只负责自己
读取到的块,而其余的块仍然由smon进行
5.并行回滚的参数
fast_start_parallel_rollback
false:不使用并行回滚
low:并行回滚的slave process最大数目2*cpu_count
high:并行回滚的slave process最大数目4*cpu_count
6.并行回滚的监控
v$fast_start_servers:并行恢复的slave进程的状态,如果是recovering表示正在做回滚
如果是idle说明不在干活
v$fast_start_transactions:监控事务的恢复进度,可以预测恢复的时间(死事务无法在这个
视图中查到需要查x$ktuxe)
7.并行回滚可能存在一些问题
并行回滚会加快恢复的进度,但是在并行回滚的过程中会启动很多的slave进程,会占用系统的
大量cpu,因此我们可能会禁用并行回滚,来减小对系统性能的影响,但是当并行回滚开始后如果
设置fast_start_parallel_rollback=false,会导致这个操作hold住,要做一些特殊处理
metalink note: 414242.1
Doc ID: 238507.1
Doc ID: 144332.1
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/8984272/viewspace-619954/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/8984272/viewspace-619954/