Undo一个重要用途就是在对数据进行修改时候,能将数据块中被修改前的数据(注意

不是数据块,一般被称为before image)保存到回滚段中。回滚时就可以取出还原。

UNDO还有其他用途,如一致性读、闪回功能(Flashback Database及flashback drop

[recyclebin]除外)等。

-- UNDO的几种状态:

active - 活动状态的回滚段,不能够被覆盖或者是离线(offline)

inactive - 当事务提交或者是回滚之后,对应的回滚区则标记为非活动(Inactive)状态

处于非活动状态的回滚区不再为数据回滚或是数据库恢复等功能所用,但是UNDO的其它

如一致性读和闪回等功能却还是有可能用到这些回滚段。因此处于Inactive的回滚区也

并不意味着就可以马上被覆盖,这个需要取决于UNDO的RETENTION的设置(undo_retention)。

--UNDDO_RETENTION

在事务提交或回滚之后,因为flashback或一致读的需求,还需要将对应的UNDO数据

保存在UNDO表空间中一段时间,这个时间就是由undo_retention来设置的。

根据UNDDO_RETENTION可以继续将UNDO的inactive状态划分为EXPIRED,UNEXPIRED两类,

undo中超过undo_retention时间之外的inactive undo回滚区称为expired, 还处于

unod_retention时间之内的inactive undo回滚区称为unexpired .

--RETENTION GUARANTEE

UNDO_RETENTION不是说必须达到这个时间后才能被覆盖,而只是一个期望值,比如UNDO

表空间文件设置为非自动扩展,当一个大事务需要将undo中未使用的区域及过期的undo

区域都使用完了,而UNDO空间不能自动扩展,这时保证事务顺利运行优先级比较高,UNDO

中没有过期的回滚区也会被覆盖使用(从其中使用时间越早的开始),也就是说retention

设置的时间段内的UNDO非过期数据是没有保证的。10g开始提供参数RETENTION GUARANTEE

设置在tablespace的属性中,那么未过期的UNDO数据就不会再被覆盖掉了。但是设置属性

RETENTION GUARANTEE,UNDO空间不足时很可能造成事务失败,所以一般不会设置。

_UNDO_AUTOTUNE

从10g开始,Oracle提供了UNDO自动优化功能,就是在UNDO表空间非自动增长的情况下,

Oracle会根据UNDO表空间的大小来调整UNDO RETENTION的大小,自动调整RETENTION就是

最大限度的利用当前UNDO表空间的可用空间,尽可能的保留最多的UNDO数据,以最大化的

减少类似ORA-01555 等错误发生。在这种情况下的UNDO RETENTION就基本没有用处了。

默认情况下 _UNDO_AUTOTUNE =TRUE, 开启UNDO自动优化功能。经过优化的UNDO RETENTION

可以在V$UNDOSTAT的  TUNED_UNDORETENTION 中看到, 一般oracle每10分钟写一条unod表

空间使用情况记录到V$UNDOSTAT, 包括 TUNED_UNDORETENTION 。

oracle undoautotune,温故知新 - UNDO,UNDO_RETENTION 及 _undo_autotune相关推荐

  1. 【DB笔试面试682】在Oracle中,Undo段中区3种状态分别是什么(Undo表空间系列)?...

    ♣ 题目 部分 在Oracle中,Undo段中区3种状态分别是什么? ♣ 答案部分 Undo信息存储在Undo段中,Undo段又存储在Undo表空间中.Undo表空间仅用于Undo段(在Undo表空间 ...

  2. oracle segment undo_Oracle undo管理详解

    一.What isundo Every Oracle database must have a method of maintaining information that is used to ro ...

  3. oracle undoautotune,Oracle 隐藏参数:_undo_autotune、一个吃力不讨好的活

    虽然谈论那些隐藏的参数必定是无意义的.但那些隐藏的参数却是有价值的.我们不得不对那些隐藏的参数"心怀敬意" AUM下.为什么我的Undo表空间只增长,不回收,现在都40多G了,还在 ...

  4. oracle undoautotune,Oracle隐藏参数:_undo_autotune

    有时候DBA会听到诸如上面的一些声音,因为有个参数叫_undo_autotune=true,undo_retention不再适用,Oracle会自行决定tuned_undo_r 虽然谈论那些隐藏的参数 ...

  5. oracle undoautotune,Oracle 隐藏参数:_undo_autotune

    虽然谈论那些隐藏的参数必定是无意义的.但那些隐藏的参数却是有价值的.我们不得不对那些隐藏的参数"心怀敬意" AUM下.为什么我的Undo表空间只增长,不回收,现在都40多G了,还在 ...

  6. oracle undoautotune,Oracle 暗藏参数:undo_autotune、一个吃力不讨好的活

    Oracle 隐藏参数:_undo_autotune.一个吃力不讨好的活 虽然谈论那些隐藏的参数必定是无意义的.但那些隐藏的参数却是有价值的.我们不得不对那些隐藏的参数"心怀敬意" ...

  7. Oracle 原理:UNDO表空间

    UNDO表空间又称为,回滚表空间,撤销表空间.Undo segment保存在UNDO 表空间,一个数据库可以有多个UNDO表空间,但是在同一时刻中,只能使用同一个UNDO表空间. 一.UNDO表空间的 ...

  8. oracle跳过undo回滚段启动,[Oracle] 解析在没有备份的情况下undo损坏怎么办

    如果Oracle在运行中很不幸遇到undo损坏,当然最好的方法是完全恢复,不过如果没有备份,可以采用一种非常规的手段(利用Oracle的隐藏参数), 如果此时undo包含未提交的事务,会造成一点点的数 ...

  9. oracle undo段的作用,Oracle数据库中Undo数据段的作用及类型

    Undo数据段的作用: 事务回滚(Transaction Rollback):程序执行rollback操作. 事务修复(Transaction Recovery):rollback是recovery的 ...

最新文章

  1. 重读经典:完全解析特征学习大杀器ResNet
  2. java安卓写文件路径,如何使用gradle作为构建系统,平台Android配置Protobuf(Java)文件的输出路径?...
  3. 和一个刚毕业不久的朋友聊天
  4. Python 开源电子书资源
  5. 实现有向带权图抽象数据类型
  6. bzoj1061 志愿者招募
  7. 2021年华为杯数学建模竞赛E题——信号干扰下的超宽带(UWB)精确定位问题
  8. 南航计算机考研是自主命题吗_什么是自主计算?
  9. Google GMS认证测试相关
  10. python爬取文字和图片_Selenium_Chrome爬取文本和百度图片
  11. 云计算关键概念之一:云资源池
  12. 时钟芯片S35390A
  13. 工作环境配置及putty工具常见设置
  14. 如何使用Loadrunner12在win10系统 最新版本谷歌浏览器录制脚本
  15. 魔兽世界6.2.2德拉诺怎么飞行 wow飞行成就获得方法
  16. border边框线样式
  17. 线性规划的对偶问题(The Dual of LP)
  18. C语言错题集(指针2020/12/8)
  19. 如何实现水泥窑分散点信号集中控制?
  20. threeJs学习随笔(一),附百度网盘下载地址

热门文章

  1. ajax请求php的过程,php如何实现ajax请求
  2. android crop 大图,Android-CropView
  3. 一加nfc门禁卡录入_忘记门禁卡不再徘徊 一加7T多功能NFC过来拯救你
  4. python客户价值分析_[Python数据挖掘]第7章、航空公司客户价值分析
  5. jquery : 动态构建表单自动提交请求
  6. 【maven】javaee项目添加servlet、jsp依赖
  7. 【oracle】创建DBLink
  8. python转弯轨迹_使点沿着曲线轨迹移动
  9. java定义静态set集合_java集合之set
  10. elasticsearch之Recovery