MySQL_15.UNDO和REDO的区别

redo
重做日志(redo)包含所有数据产生的历史改变记录,是oracle在线或归档重做日志文件中记录的信息,
一旦掉电或其他意外丢失数据,可以利用这些数据来重做事务,例如已经出现了丢失数据的情况,
那么就可以利用redo来重放事务,通常用于实例恢复和介质恢复、日志挖掘和流(分析redo,捕获实时数据,传到远程数据库,并应用于远程数据库)。
Redo中保存的内容是改变向量,改变数据块的大小,是对数据块的覆盖。

undo
undo是oracle在undo段中记录的信息,用于取消或回滚事务,例如对数据进行修改时,数据库会产生undo信息,
若数据出现丢失,可采用rollback请求回滚,可以利用这些undo信息将数据放回到修改前的样子。
UNDO的作用包括了数据的回滚、一致性读、表的闪回以及失败会话的恢复。
它的流程:当update一个数据块时,在开始时需要从内存中找到这个数据块,在undo中放入数据块放之前的值old data在undosegment中,
这时候就会产生undo,oracle就会对原始数据更新值,也会产生redo

UNDO和REDO的区别
(1)Undo里是怎么样去撤销一个改变;redo里是怎么养去重做一个改变;
(2)Undo用于回滚、一致性读(readconsistency)和闪回(flashback);redo用于数据库前滚(rolling forward)、恢复和数据的改变;
(3)Undo放在undo表空间中;redo是放在redo日志文件中;
(4)Undo是来保护一致性读;redo来保证数据不丢失

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微辣已是极限

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值