回滚的研究
来源:互联网 发布:linux docker网络 编辑:程序博客网 时间:2024/05/01 09:01
update t set id=1 where id=2
1.想更新ID=2的记录首先需要查到ID=2的 记录,检查ID=1是否在数据缓存区里,不存在则从磁盘中读取到数据缓存区中,这一点和普通到查询语句类似。
2.在回滚表空间到相应回滚段事务表上分配事务槽,从而在回滚表空间分配到空间,该动作需要记录日志写进日志缓存区。
3.在数据缓存区中创建ID=2的前镜像,前镜像数据也会写进磁盘的数据文件里(回滚表空间的数据文件),从缓存写进磁盘由ckpt决定,这些动作都会记录日志,并将其写进日志缓存区,lgwr将日志缓存区的数据写进日志文件形成redo文件
4.前面步骤做好了,才允许将ID=2的记录修改为ID=1,这个显然也是要记录到日志缓存区到
5.此时用户如果执行了提交,日志缓存区立即要记录这个提交到信息,然后就把回滚段事务标记为非激活inactive状态,表示允许重写。
6.如果执行了回滚,oracle需要从回滚段中将前镜像ID=2到数据读出来,修改数据缓存区,完成回滚。这个过程依然要产生日志,要写进 日志缓存区。
0 0
- 回滚的研究
- 事务日志回滚机制研究
- 事务日志回滚机制研究
- 事务日志回滚机制研究
- 事务日志回滚机制研究
- oracle回滚机制深入研究
- Oracle回滚机制深入研究
- oracle回滚机制深入研究
- oracle回滚机制深入研究
- 前滚和回滚的区别
- 前滚和回滚的区别
- 前滚和回滚的区别 .
- hibernate的回滚
- svn的回滚
- 嵌套事务的回滚
- 出错回滚的方法
- 实例级别的回滚
- svn 回滚的命令
- 页面在360浏览器下显示不正常的兼容性问题
- [SO-I] 二维数组中的查找
- 初读《围城》
- Redis教程2(Redis环境搭建)
- 第一轮 K
- 回滚的研究
- Android数据之文件存储
- poj 1625 Censored!(AC自动机+DP+高精度)
- A == B ?(杭电2054)
- 常用正则表达式
- 黑马程序员——String类方法应用的总结
- 日语一级800个核心词汇
- 我的uboot之路(2)Makefile
- 软件1401