前滚&后滚
来源:互联网 发布:java redis使用 编辑:程序博客网 时间:2024/06/11 05:25
前滚:
未完全提交的事务,即该事务已经被执行commit命令了,只是现在该事务修改所对应的脏数据块中只有一部分被写到磁盘上的数据文件中,还有一部分已经被置为提交标记的脏块还在内存上,如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用前滚(这个机制)来完成事务的完全提交,即将先前那部分已经被置为提交标记且还在内存上的脏块写入到磁盘上的数据文件中。
回滚:
未提交的事务,即该事务未被执行commit命令。但是此时,该事务修改的脏块中也有可能一部分脏块写入到数据文件中了。如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用回滚(这个机制)来将先前那部分已经写入到数据文件的脏块从数据文件上撤销掉。
注释:
实例恢复,就是oracle软件系统根据数据库实例崩溃前最后一次检查点的那一刻到数据库实例崩溃那一刻期间所做的所有操作(无论该操作是否有提交的,这些操作可以从重做日志上读取)对该数据库实例对应的数据库(特别是数据文件部分做恢复,当然其他配合数据文件的文件,如控制文件,日志文件,也会做相关的恢复修改)进行前滚,即将该期间的操作重做一遍。之后再将其中未提交的操作进行回滚。这里,可能就有人疑问了,为什么前滚时不只做提交的操作,未提交的操作就不要做就好了嘛?因为数据库实例崩溃前,未被执行commit命令的事务,其所修改的脏块中也有可能一部分脏块已经写入到数据文件中了,所以需要进行回滚操作。
总之,实例恢复时,先做前滚,后做回滚。
未完全提交的事务,即该事务已经被执行commit命令了,只是现在该事务修改所对应的脏数据块中只有一部分被写到磁盘上的数据文件中,还有一部分已经被置为提交标记的脏块还在内存上,如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用前滚(这个机制)来完成事务的完全提交,即将先前那部分已经被置为提交标记且还在内存上的脏块写入到磁盘上的数据文件中。
回滚:
未提交的事务,即该事务未被执行commit命令。但是此时,该事务修改的脏块中也有可能一部分脏块写入到数据文件中了。如果此时数据库实例崩溃了,则当数据库实例恢复时,就需要用回滚(这个机制)来将先前那部分已经写入到数据文件的脏块从数据文件上撤销掉。
注释:
实例恢复,就是oracle软件系统根据数据库实例崩溃前最后一次检查点的那一刻到数据库实例崩溃那一刻期间所做的所有操作(无论该操作是否有提交的,这些操作可以从重做日志上读取)对该数据库实例对应的数据库(特别是数据文件部分做恢复,当然其他配合数据文件的文件,如控制文件,日志文件,也会做相关的恢复修改)进行前滚,即将该期间的操作重做一遍。之后再将其中未提交的操作进行回滚。这里,可能就有人疑问了,为什么前滚时不只做提交的操作,未提交的操作就不要做就好了嘛?因为数据库实例崩溃前,未被执行commit命令的事务,其所修改的脏块中也有可能一部分脏块已经写入到数据文件中了,所以需要进行回滚操作。
总之,实例恢复时,先做前滚,后做回滚。
0 0
- 前滚&后滚
- Oracle 实例恢复时 前滚 后滚说明
- 前滚与回滚
- 前滚和回滚
- 前滚和回滚
- DB2前滚测试
- 前滚和回滚撤销
- 前滚和回滚的区别
- Oracle 前滚和回滚
- 前滚和回滚的区别
- 前滚和回滚的区别 .
- Oracle 实例恢复时 前滚(roll forward) 后滚(roll back) 问题
- Oracle 实例恢复时 前滚(roll forward) 后滚(roll back) 问题
- Oracle 实例恢复时 前滚(roll forward) 后滚(roll back) 问题
- Oracle 实例恢复时 前滚(roll forward) 后滚(roll back) 问题
- Oracle 实例恢复时 前滚(roll forward) 后滚(roll back) 问题
- 浅谈Oracle前滚恢复
- ORACLE实例恢复--前滚和回滚
- 常用的脚本
- sitemesh struts2 整合
- POJ 1905 Expanding Rods(几何+二分)
- MySQL索引背后的数据结构及算法原理
- Stack Overflow requires external JavaScript from another domain, which is blocked or failed to load.
- 前滚&后滚
- What is the difference between #import and #include in Objective-C?
- JavaScript中数组高级编程实践-2
- Ruby on Rails Tutorial 学习笔记 --第八章 登录和退出
- android分享多张图片在ContentResolver.insert返回null时的解决方案
- oracle 空字符串 null 和各种判断当前字段是否为空
- 编程的一些代码风格(JAVA)
- Compaction magic in Couchbase Server
- 如何安装archlinux | 在虚拟机(oracle VM virtualbox)上安装archlinux