OracleUndoRedo通俗理解以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

什么是REDO

REDO记录transaction logs 分为online和archived 以恢复为目的

比如 机器停电 那么在重起之后需要online redo logs去恢复系统到失败点

比如 磁盘坏了 需要用archived redo logs和online redo logs区恢复数据

比如 truncate一个表或其他的操作 想恢复到之前的状态 同样也需要

什么是UNDO

REDO 是为了重新实现你的操作 而UNDO相反 是为了撤销你做的操作 比如你得一个TRANSACTION执行失败了或你自己后悔了 则需要用 ROLLBACK命令回退到操作之前 回滚是在逻辑层面实现而不是物理层面 因为在一个多用户系统中 数据结构 blocks等都在时时变化 比如我们 INSERT一个数据 表的空间不够 扩展了一个新的EXTENT 我们的数据保存在这新的EXTENT里 其它用户随后也在这EXTENT里插入了数据 而此时我想ROLLBACK 那么显然物理上讲这EXTENT撤销是不可能的 因为这么做会影响其他用户的操作 所以 ROLLBACK是逻辑上回滚 比如对INSERT来说 那么ROLLBACK就是DELETE了

MIT 以前 常想当然地认为 一个大的TRANSACTION(比如大批量地INSERT数据)的MIT会花费时间比短的TRANSACTION长 而事实上是没有什么区别的

因为ORACLE在MIT之前已经把该写的东西写到DISK中了

我们MIT只是

产生一个SCN给我们TRANSACTION SCN简单理解就是给TRANSACTION排队 以便恢复和保持一致性

REDO写REDO到DISK中(LGWR 这就是log file sync) 记录SCN在ONLINE REDO LOG 当这一步发生时 我们可以说事实上已经提交了 这个TRANSACTION已经结束(在V$TRANSACTION里消失了)

SESSION所拥有的LOCK(V$LOCK)被释放

Block Cleanout(这个问题是产生ORA : snapshot too old的根本原因) ROLLBACK ROLLBACK和MIT正好相反 ROLLBACK的时间和TRANSACTION的大小有直接关系 因为ROLLBACK必须物理上恢复数据 MIT之所以快 是因为ORACLE在MIT之前已经作了很多工作(产生UNDO 修改BLOCK REDO LATCH分配) ROLLBACK慢也是基于相同的原因

UNDO表空间用于存放UNDO数据 当执行DML操作时 Oracle

UNDO数据的作用 当用户执行DML操作修改数据时 UNDO数据被存放在UNDO段 而新数据则被存放到数据段中 如果事务操作存在问题 就需要回退事务 以取消事物变化

例如 执行完UPDATE emp SET sal= WHERE empno= 后 发现应该修改雇员 的工资 而不是 此时应该执行ROLLBACK语句

读一致性

用户检索数据时 ORACLE总是使用户只能看到被提交过的数据 这是由Oracle自动提供的 当用户修改数据 但是没有提交时 另外一个用户使用select语句查找该值时 该值就是从undo表空间中取得的

事务恢复

事务恢复是例程恢复的一部分 它是由Oracle Server自动完成的 如果在数据库运行过程中出线历程失败 那么当启动Oracle Server时 后台进程SMON会自动执行例程恢复 执行例程恢复时 Oracle会重做所有未应用的记录 然后打开数据库 回退未提交事务

倒叙查询

倒叙查询用于取得某一特定时间点的数据库数据

UNDO_MANAGEMENT

使用初始化参数用于指定UNDO数据的管理方式 如果使用自动管理模式 必须设置该参数为AUTO 此时采用UNDO表空间管理UNDO数据 如果使用手工管理模式 必须设置该值为MANUAl 此时采用回滚段管理UNDO数据

UNDO_TABLESPACE

用于指定例程所要使用的UNDO表空间 使用自动UNDO管理模式时 通过配置该参数可以指定例程所要使用的UNDO表空间

使用RAC结构时 必须为每个例程配置一个独立的UNDO表空间

UNDO_RETENTION

该参数用于控制UNDO数据的最大保留时间 其默认值为 秒 该值时倒叙查询可以查看到的最早时间点 lishixinzhi/Article/program/Oracle/201311/17025

分页:123

oracle的redo和undo,OracleUndoRedo通俗理解相关推荐

  1. 大讲堂专访丨连接Oracle DBA与开发的桥梁:Oracle的redo与undo

    云和恩墨大讲堂每周都会邀请业内外大咖进行一小时的线上主题分享,本期我们邀请到了云和恩墨技术专家李元鹏,带来题为<浅谈Oracle的redo与undo>的分享,敬请期待. 在开课前,大讲堂对 ...

  2. Oracle的REDO和UNDO

    在这里会介绍UNDO,REDO是如何产生的,对TRANSACTIONS的影响,以及他们之间如何协同工作的. 什么是REDO  REDO记录transaction logs,分为online和archi ...

  3. Oracle 9 - redo和undo

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

  4. 【Oracle】redo与undo

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

  5. oracle的redo和undo,Oracle的redo 和undo的區別

    寫的次序: redo--> undo-->datafile insert一條記錄時, 表跟undo的信息都會放進 redo 中, 在commit 或之前, redo 的信息會放進硬盤上. ...

  6. oracle中redo和undo实验,REDO与UNDO几个实验

    1.IMU模式与非IMU模式下REDO的区别 1.1.IMU模式 REDO RECORD - Thread:1 RBA: 0x000004.0000000b.0010 LEN: 0x0374 VLD: ...

  7. 说说你对binlog、redo log和undo log的理解

    这里写自定义目录标题 说说你对binlog.redo log和undo log的理解 binlog binlog使用场景 binlog日志格式 redo log 为什么需要redo log redo ...

  8. Oracle redo 与 undo

    Oracle数据库中最重要的两部分数据:redo与undo.redo(重做信息)是oracle 在线(或归档)重做日志文件中记录的信息,万一出现失效时可以利用这些数据来"重放"(或 ...

  9. Oracle存储过程入门教程(通俗理解存储过程)

    Oracle存储过程入门通俗介绍 一.存储过程通俗理解 二.创建存储过程基本语法(汇总) 三.执行存储过程的方式(5种) 四.网上现有的创建存储过程的两种方式解释(看注释) 五.一些存储过程示例(仅供 ...

最新文章

  1. 蚂蚁金服11.11:支付宝和蚂蚁花呗的技术架构及实践
  2. java ssm使用存储过程_java调用oracle存储过程(ssm)
  3. Redis之Redis的事务
  4. 点乘 线性代数_如果看了这些还不懂线性代数,你就来锤我和广坤
  5. django的admin
  6. tomcat日志配置-----自带log(一)
  7. 【扯淡篇】CTSC/APIO/SDOI R2时在干什么?有没有空?可以来做分母吗?
  8. linux木马查杀工具,【Kali】linux木马查杀
  9. java解析word示例(支持docx、doc,wps格式)
  10. #CSDN软件工程师能力认证学习精选# Hadoop基础知识学习
  11. (raspberry、bananapi)Archlinux 无法安装yaourt解决办法-----手工编译(不难)(适用于package-query找不到)
  12. OD:修改 navicat 试用期
  13. 欧奈尔RPS曲线的编制方法这次终于成功了
  14. 联通光猫f677v2改桥接的辛酸历程
  15. gazebo入门教程(二)建立简单模型
  16. 查询物流信息,出现特殊符号如何一键替换
  17. 接口鉴权 - 学习/实践
  18. oracle 管道技术优劣,海底管道的铺设方法及其优劣
  19. 5mm方格本打印模板,A4方格本模板(可打印)(最新整理)
  20. ​迪丽热巴明星7页面带轮播特效

热门文章

  1. 博通1300亿美元收购高通,一场充满大饼和落井下石的“大戏”
  2. linux内核同步之信号量、顺序锁、RCU、完成量、关闭中断【转】
  3. SQL查询存在一个表而不在另一个表中的数据
  4. asp.net用户登录 用户验证
  5. 【BLOG】流光映雪
  6. Tomcat正常启动,一访问就报错
  7. Metaphors for a richer understanding of software development -- Code complete reading notes(2)
  8. nyoj 208 Supermarket(贪心)
  9. poj 2455 Secret Milking Machine(二分枚举+最大流)
  10. hdu 3579(中国剩余定理非互质)