Oracle回滚段和重做日志的区别、联系

回滚段的作用:事务隔离并保证读一致性、事务rollback时恢复数据
事务隔离:事务A和B同时运行,A修改了一行数据但未提交,此时Oracle有可能已经将该数据更新到数据文件中了。但此时事务B不应该看到新数据,因此Oracle应该在执行事务A时将数据的旧值放入回滚段,供事务B读取。
事务rollback时恢复数据:由于时间效率、空间等原因,oracle可能在事务还未提交之前就将数据更新到数据文件中,当用户rollback时,应该回滚。

重做日志的作用:数据库崩溃时恢复未写入数据文件中的数据。

当用户修改数据时,Oracle首先将回滚信息和新数据写入重做日志,不管事务是否已经提交。当用户提交一个事务,Oracle也可能没有及时的将事务写入数据文件。当数据库崩溃后重启,Oracle根据重做日志,将所有可能已经提交的、或未提交的数据重新应用到数据文件中(包括回滚信息和新数据)。然后再根据回滚段回滚未提交的事务。

详见:
http://www.comprg.com.cn/detail.asp?hw_id=8030
http://baike.baidu.com/view/3084737.htm

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值