1.undo:回滚未提交的事务。未提交前,内存不够用时,DBWR将脏数据写入数据文件中,以腾出内存空间。 这就是undo存在的原因。

redo:恢复所有已提交的事务

2.实例失败(如主机掉电)可能出现的情况:

  (1)已提交的事务只写到了online redo log,但没有写到数据文件中。(commit时,oracle先调用LGWR,再调用DBWR)

  (2)没提交的数据写到了数据文件中。(内存不够用)

3.实例恢复的两个阶段

(1)rolling forward (Cache Recovery) :after rolling forward,the data files contain all committed changes recorded in the online redo log file.

These files could also contain uncommitted changes that were either saved to the data files before the failure.

(2)rolling back ( Transaction Recovery):any changes that were not committed must be undone.

4.redo 会把undo tabaleSpace或undo segment中的数据当成表数据一样,对undo数据的修改也会生成一些redo。

在进行实例恢复时,redo操作也会生成undo数据。

oracle(十二)redo 与 undo的更多相关文章

  1. oracle之二redo日志

    redo 日志 4.1 redo (重做) log 的功能:数据recovery4.2 redo log 特征:     1)记录数据库的变化(DML.DDL)     2)用于数据块的recover ...

  2. 【转】ORACLE的REDO与UNDO

    一.什么是redo?redo:oracle在在线或者归档重做日志文件中的记录的信息,外以出现失败时可以利用这些数据来"重放"事务.每个oracle数据都至少有二个在线重做日志组,每 ...

  3. Oracle redo与undo 第一弹

      一. 什么是redo(用于前滚数据) redo也就是重做日志文件(redo log file),Oracle维护着两类重做日志文件:在线(online)重做日志文件和归档(archived)重做日 ...

  4. Oracle redo与undo浅析

    http://liwenshui322.iteye.com/blog/1488949 一. 什么是redo(用于前滚数据) redo也就是重做日志文件(redo log file),Oracle维护着 ...

  5. 【Oracle】redo与undo

    一 .redo(重做信息) 是Oracle在线(或归档)重做日志文件中记录的信息,万一出现失败时可以利用这些数据来“重放”(或重做)事务.Oracle中记录这些信息的文件叫做redo log file ...

  6. 【知识点整理】Oracle中NOLOGGING、APPEND、ARCHIVE和PARALLEL下,REDO、UNDO和执行速度的比较

    [知识点整理]Oracle中NOLOGGING.APPEND.ARCHIVE和PARALLEL下,REDO.UNDO和执行速度的比较 1  BLOG文档结构图 2  前言部分 2.1  导读和注意事项 ...

  7. Oracle 9 - redo和undo

    1.redo redo 有在线redo日志和归档redo日志, 从Oracle 10g开始还新增加了flashback技术. 每个Oracle数据库至少有2个在线重做日志组,循环写. 只有INSERT ...

  8. Oracle redo与undo

    Undo and redo Oracle最重要的两部分数据,undo 与redo,redo(重做信息)是oracle在线(或归档)重做日志文件中记录的信息,可以利用redo重放事务信息,undo(撤销 ...

  9. 09 redo and undo

    本章提要-----------------------------------------------redo, undo 定义redo, undo 如何工作如何访问 redo, undo提交和回滚- ...

随机推荐

  1. mysql5.7 编码统一utf-8

    查看mysql数据库编码: show variables like 'character%'; mysql> show variables like 'character%'; +------- ...

  2. 数据结构 http://www.cnblogs.com/sun-haiyu/p/7704654.html

    数据结构与算法--从平衡二叉树(AVL)到红黑树 上节学习了二叉查找树.算法的性能取决于树的形状,而树的形状取决于插入键的顺序.在最好的情况下,n个结点的树是完全平衡的,如下图“最好情况”所示,此时树 ...

  3. c++ word类型

    word就是16位的数据 随着机器的发展,C++语言本身并没有规定short的位数,不一定是十六位的(随着计算机的发展,可能改变).但word将永远是16位的--机器发展后只需要修改,typedef ...

  4. cesium可视化空间数据1

    ---恢复内容开始--- 1.多边形 我们要从经度和纬度列表中为美国怀俄明州添加一个多边形.(怀俄明被选中是因为它是一个简单的多边形.)我们可以复制并粘贴以下代码到Sandcastle中:   < ...

  5. linux Redhat 6环境上通过源码包安装DRBD 8

    环境描述: 操作系统版本:Red Hat Enterprise Linux Server release 6.6 (Santiago) 系统内核版本:2.6.32-504.el6.x86_64 DRB ...

  6. shell脚本中,for基于列表进行循环的实现方法

    需求描述: 在写脚本中需要这么个需求,需要对一个列表中的值进行循环 比如,列表中的值mysqld,zookeeper,hbase 简单来说,for基于列表值的循环. 脚本测试过程: 1.测试脚本 #! ...

  7. mybatis由浅入深day02_7.3二级缓存

    7.3 二级缓存 7.3.1 原理 下图是多个sqlSession请求UserMapper的二级缓存图解. 首先开启mybatis的二级缓存. sqlSession1去查询用户id为1的用户信息,查询 ...

  8. iOS 开发 - iOS 8 以后使用UIAlertController的使用

    最近在写项目的时候,发现使用alertview和actonsheet会报警告,所以就查了一下,发现ios 9 以后会使用UIAlertController来进行操作, 具体代码如下: 1.声明 #im ...

  9. react实现的点击拖拽元素效果

    之前用vue做日程管理组件的时候,用到了点击拖拽的效果,即点击元素,鼠标移动到哪里,元素移动到哪里,鼠标松开,拖拽停止,现在在弄react,于是也在想实现这个效果,经过一番折腾,效果出来了,代码如下: ...

  10. java.util.ConcurrentModificationException 多线程访问ArrayList引起

    http://blog.csdn.net/androiddevelop/article/details/21509345   Java ConcurrentModificationException ...