深入理解数据库事务处理内部的处理过程

事务处理的机制简单地说就是留下更新日志。数据库会根据这些日志信息,在必要时将旧数据取回,或者在发生错误时将数据恢复到原先的状态。

与事务处理相关的日志可以分为两个类型, 一个是UNDO日志,另一个是REDO日志。

UNDO日志

UNDO日志又被称为回滚段(Rollback Segment),在进行数据的捕入、更新、删除的场合,保存变更前的数据,

在表的内容保存了指向UNDO日志的指针,ROLLBACK时根据这个指针米获得旧数据,并覆盖新数据。ROLLBACK后,或者COMMIT后UNDO日志将被删除。


REDO日志

REDO日志根据数据库的不同,有时被称为事务处理日志或日志.

事务处理确定后,由于错误等原因使数据的更新没有正确反映到数据库中的时候,REDO日志提供了数据恢复用的孚段.

仅仅看上述的说明可能还不能理解。那到底[事务处理确定后,数据的更新没有反映到数据库中]这种状态是在什么时候发生的呢?这个必须首先说明。


数据库在错误排除后的第一次起动时进行称为Roll forward (可译为前液,体育课中的前滚翻的英文译法就是如此)的处理,Roll forward处理具体做法是,从REDO日志中抽出从最后的检查点到错误发生时间点间的事务处理,然后重新执行一次(REDO)。这样,数据库就恢复到错误发生前的状态了。

文章来源 网页编程www.uphtm.com转载请注明出处:http://www.uphtm.com/database/197.html
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值