Oracle学习笔记:Undo数据的作用

 以下是我阅读《Oracle 9i&10g编程艺术:深入数据库体系结构》的部分心得。

undo保存在数据库里面,而不是像redo那样是单独的文件。所以undo也是受到redo保护的。

undo用在一下的情况
1 回滚
系统事务的更新已经更新了缓冲和磁盘数据,如果回滚,需要从undo里面逐个的反向执行,恢复到指定的点,比如事务开始的状态,或者某个保存点(Save Point).

2 MVCC 多版本并发控制。
oracle在为了提供读的一致性,你在第二次读取相同的数据时,如果发现当前数据已经修改,则会从undo里面逐步恢复到当初的状态(通过SCN,SCN,这是指系统修改号(System Change Number)或系统提交号(System Commit Number))。 这样,你的这个事务就可以保证能看到一致的数据,而不会受到别的事务的影响。


这2个是我想到的最主要的2个用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值