zoukankan      html  css  js  c++  java
  • 如何理解redo和undo的作用

    如何理解redo和undo的作用

    redo

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

    undo

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

    UNDO和REDO的区别

    • Undo里是怎么样去撤销一个改变;redo里是怎么养去重做一个改变;

    • Undo用于回滚、一致性读(readconsistency)和闪回(flashback);redo用于数据库前滚(rolling forward)、恢复和数据的改变;

    • Undo放在undo表空间中;redo是放在redo日志文件中;

    • Undo是来保护一致性读;redo来保证数据不丢失。

  • 相关阅读:
    bug终结者 团队作业第二周
    dropdownlist绑定数据
    virtual与vmware
    后台控制输出table(有数据库)
    label 绑定数据
    flash不能显示中文
    dataset 多表查询
    MVC3 Razor视图引擎基础语法 [转]
    CreateAlias()与setFetchMode() [转 李丽芬]
    Linq Like [转 韩天伟]
  • 原文地址:https://www.cnblogs.com/kyeup/p/9286707.html
Copyright © 2011-2022 走看看