主机断电时,实例恢复中的各种情况分析:
来源:互联网 发布:女超人于莺离婚知乎 编辑:程序博客网 时间:2024/06/05 16:59
主机断电时,实例恢复中的各种情况分析:
有一种数据块在data buffer中被修改,未写入datafile中,日志记录在log buffer中,但是还没有记录在online redolog中,这时断电后,如何处理?
主机断电时,实例恢复中,data buffer 中脏块各种情况分析:
首先把数据块按事务已提交和未提交分类:
1. 已提交,这种情况redo记录一定在online redo log 或 archived redo log 中,它又分为内存中的脏块是否写入datafile中,
如果已经写入,则内存中的data和磁盘中的data一致,不需要处理。
如果未写入,则内存中的data和磁盘中的data不一致,这时需要smon进程在实例恢复时,进行前滚,即事务重做。
2. 未提交,又分为三种情况,
如果脏块已经写入datafile 中,则根据redo 写入在前的原则,redo 记录一定也写入了 online redo log 或archived redo log 中,这种情况
需要smon进程,在实例前滚结束后,smon或相应的server process 对相应这种未提交的事务进行回滚,撤销操作。
如果脏块未写入datafile中,则redo 记录已经写入online redo log 或archived redo log 中,这种情况
需要smon进程,在实例前滚结束后,对相应这种未提交的事务进行回滚,撤销操作。
(这时回滚时,对比scn号会发现实际需要回滚的操作为空,即不需要回滚)
如果脏块未写入datafile中,则redo 记录未写入online redo log 或archived redo log 中,
这种情况下,数据改变未写入datafile中,datafile中数据未改变,redo记录未写入online redo log 或archived redo log 中,
相当于未发生过,无需处理,也无法处理(因为online redo log 或archived redo log 中未记录)。
- 主机断电时,实例恢复中的各种情况分析:
- Oracle集群断电恢复实例(续)
- 各种情况的恢复
- MySQL断电恢复的一点简单分析
- MongoDB主机断电后重启出现无法连接数据库的情况
- Vim中的断电恢复文件操作
- vue2.0组件通信各种情况总结与实例分析
- RMAN 各种情况下恢复
- 各种情况恢复控制文件
- vim断电恢复操作
- Oracle集群断电恢复
- UILineBreakMode的各种情况分析
- java 各种乱码情况分析
- UILineBreakMode的各种情况分析
- 调用layoutSubviews各种情况分析
- 【恢复,1】 redo 日志恢复的各种情况
- Oracle数据库恢复-使用RMAN恢复到不同主机实例
- catalog损坏情况下的恢复实例
- 无线轮播
- Matrix使用解析
- Homework After Class
- vsftp匿名用户上传下载配置
- Java编程实现数组排序——(二)交换排序
- 主机断电时,实例恢复中的各种情况分析:
- Lua脚本语言简明入门教程
- 算法库algorithm-6-searching
- RxJava+Retrofit+OkHttp深入浅出-终极封装三(文件上传)
- vc代码显示图像的质量问题,SetStretchBltMode的作用
- ARM GCC浮点编译选项
- 模块module间引用和使用本地maven库的jar包
- Objective-C枚举写法
- nginx搭建与学习