参考文档:
https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams265.htm#REFRN10225
https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams264.htm#REFRN10224
MOS 文档 ID 1526122.1
MOS 文档 ID 846079.1

适用版本:10.1.0.5以上
相关参数:

_highthreshold_undoretention,_smu_debug_mode,_undo_autotune,undo_management,undo_retention,undo_tablespace
undo主要功能:
undo segement 回滚段主要工作是为了构造读一致性,事物回滚,数据库恢复,闪回查询

正文:
这里主要介绍几个参数的设置
_highthreshold_undoretention —- 单位 秒,默认值 4294967294 。允许undo_retention 设置的最大值,当修改undo_retention的值超过改参数值,相关报错 ORA-55567,ORA-55568,ORA-55569

_smu_debug_mode —undo调试参数,通过设置特定值可以启动特殊作用,如 4, 33445542

_undo_autotune — 默认 true 开启。自动调整回滚段的保留时间。

undo_retention — 单位 秒,默认900秒,undo段尽可能的保留时间

undo_management —undo段管理方式,默认auto 自动使用undot ablespace 管理。MANUAL 利用 rollback segment管理

undo_tablespace —- 指定undo使用的表空间

SYS@  >select  a.inst_id, a.ksppinm  "Parameter",2               b.ksppstvl "Session Value",c.ksppstvl "Instance Value"4        from x$ksppi a, x$ksppcv b, x$ksppsv c5       where a.indx = b.indx and a.indx = c.indx6         and a.inst_id=b.inst_id and b.inst_id=c.inst_idand a.ksppinm in ('_undo_autotune', '_smu_debug_mode',8                           '_highthreshold_undoretention','undo_tablespace','undo_retention','undo_management')10  order by 2;Instance # Parameter                           Session Value             Instance Value
---------- ----------------------------------- ------------------------- -------------------------1 _highthreshold_undoretention        4294967294                42949672941 _smu_debug_mode                     0                         01 _undo_autotune                      TRUE                      TRUE1 undo_management                     AUTO                      AUTO1 undo_retention                      900                       9001 undo_tablespace                     UNDOTBS1                  UNDOTBS16 rows selected.

实际undo段的保留时间,undo段覆盖与否,绝大数情况是由表空间的使用情况结合相关参数来决定的。(除非对undo tablespace 设置了retention guarantee 特性,强制保留undo segment达到保留时间值,不然不会覆盖,哪怕表空间不足也是。隐患太大,不太考虑)

PS:undo段的保留时间只是让已提交事务的 undo segment 标记为 UNEXPIRED(未过期),我们其实知道不管是UNEXPIRED 还是 EXPIRED 状态的 undo segment 都是可能会被覆盖的。只是优先覆盖EXPIRED ,如果空间不足一样覆盖UNEXPIRED

以下情况都是 undo tablespace 是NOGUARANTEE
参数组合情况一:
在默认情况下,及_undo_autotune=true 时候及undo tablespace 的autoextend =yes 自动扩展
_smu_debug_mode =0
_undo_autotune =true
undo_retention =900 (这个值可自行修改)

开启自动调整时实际的保留时间以试图V$UNDOSTAT中的字段 TUNED_UNDORETENTION 值为准,且>=undo_retention值

SELECT TO_CHAR(BEGIN_TIME, 'YYYY-MM-DD HH24:MI:SS') BEGIN_TIME,TUNED_UNDORETENTION FROM V$UNDOSTAT;2018-07-08 01:59:26                1412
2018-07-08 01:49:26                 900
2018-07-08 01:39:26                1413
2018-07-08 01:29:26                 900
2018-07-08 01:19:26                1417
2018-07-08 01:09:26                2021
2018-07-08 00:59:26                1421
2018-07-08 00:49:26                 900
2018-07-08 00:39:26                1422
2018-07-08 00:29:26                 900
2018-07-08 00:19:26                1427
2018-07-08 00:09:26                 900
2018-07-07 23:59:26                1430
2018-07-07 23:49:26                 900
2018-07-07 23:39:26                1432
2018-07-07 23:29:26                 900
2018-07-07 23:19:26                1436

情况二:

相对于情况一,如果只是 undo tablespace 非自动扩展
这时oracle根据undo表空间大小与使用情况自动调整最大可能的保留时间,及忽略undo_retention的值

情况三:
undo tablespace 自动扩展
_smu_debug_mode = 33445542
_undo_autotune =true
undo_retention =900 (这个值可自行修改)

这时oracle自动调整的
TUNED_UNDORETENTION = (undo_retention值 or 运行时间最长的 SQL 的执行时间)

情况四
undo tablespace 自动扩展
_undo_autotune =false
undo_retention =900 (这个值可自行修改)

这时oracle 自动调整关闭
TUNED_UNDORETENTION = undo_retention

情况五:
对于lob 字段
lob 字段 undo 不是利用undo tablespace,而是利用自己存储空间。 例如 BasicFiles lob字段指定了 retention参数 则继承 undo_retention参数的值。
lob情况特殊,还有其他一些限制 参考 mos文档846079.1

Oracle undo保留时间的几个相关参数相关推荐

  1. undo保留时间的几个相关参数

    参考文档: https://docs.oracle.com/cd/E11882_01/server.112/e40402/initparams265.htm#REFRN10225 https://do ...

  2. oracle闪回保存多久,CSS_oracle 中关于flashback闪回的介绍, 1、必须设定undo保留时间足 - phpStudy...

    oracle 中关于flashback闪回的介绍 1.必须设定undo保留时间足够大以能够重构需要闪回的数据 ALTER SYSTEM SET UNDO_RETENTION=; seconds值是un ...

  3. Flink SQL空闲状态保留时间(idle state retention time)实现原理

    前言 如果要列举Flink SQL新手有可能犯的错误,笔者认为其中之一就是忘记设置空闲状态保留时间导致状态爆炸.2021年的第一篇技术文,时间很紧张,聊聊这个简单的话题吧. 为什么要设置 如果我们在数 ...

  4. Oracle undo使用率过高问题处理

    客户的数据库监控频繁告警UNDO表空间使用率高:维护人员通过加数据文件扩大表空间方式,已经将UNDO表空间扩容到900GB+,仍然会有告警,介入调查处理~ 1.1.1. 查看UNDO配置及相关参数 均 ...

  5. oracle时间去掉时分秒的时间_超详细的oracle修改AWR采样时间间隔和快照保留时间教程...

    概述 10g版本中默认是保留7天,11g版本中默认保留8天,采集间隔是1小时,这个信息可以从DBA_HIST_WR_CONTROL视图中获得.如果要修改AWR采样时间间隔和快照保留时间应该怎么改呢?下 ...

  6. oracle undo与redo的区别

    首先看一下undo与redo的字面意思:   undo:撤销,也就是取消之前的操作.   redo:重做,重新执行一遍之前的操作. 什么是REDO REDO记录transaction logs,分为o ...

  7. Oracle undo 表空间管理

    Oracle 的Undo有两种方式: 一是使用undo 表空间,二是使用回滚段. 我们通过 undo_management 参数来控制使用哪种方式,如果设为auto,就使用UNDO 表空间,这时必须要 ...

  8. oracle数据库标志物,Oracle表的分类以及相关参数的详解

    oracle中有如下几种类型的表: 1.堆组织表(heap organized tables):常用的表类型,以堆的方式管理,当增加数据时,将使用段中第一个适合数据大小的空闲空间:当删除数据时,留下的 ...

  9. Oracle undo表空间管理

    当在做DML操作的时候,在修改buffer cache里面的数据块的时候,会对当前块的旧镜像信息做一个保存,保存的数据块就是undo块.undo块上面保存着数据修改前的信息. 生成undo块的几个作用 ...

最新文章

  1. java之php、Android、JAVA、C# 3DES加密解密
  2. python_45_目录编程
  3. OpenCASCADE:读取和写入 STEP
  4. javaweb学习总结九(xml解析以及调整JVM内存大小)
  5. Easyspy网络检测系统
  6. python入门:输出1-100之内的所有奇数和偶数
  7. python 除数总是提示为0_Python错误的处理方法
  8. Unity加载模块深度解析(纹理篇)
  9. 利用application在页面中显示访问次数
  10. listView 下拉动态加载数据
  11. for循环 批处理 查找文件 详细信息 文件名
  12. 泛泰A860 Andorid4.4.3 KTU84M (Omni) 图赏
  13. Deepin20.4系统中wine优化设置
  14. 【目标检测】基于matlab GUI背景差分算法视频运动物体跟踪【含Matlab源码 1915期】
  15. 受了点小伤,心情怎么就变坏了呢?
  16. 2020年美国大学计算机科学专业排名,美国大学计算机排名2020年最新排名
  17. c语言流星雨程序下载,c语言 流星雨的实现.doc
  18. 八行代码实现图像分类-神一样的Mathematica
  19. 自然语言处理NLP之信息检索
  20. 传说中程序员都是直男,程序员适合做老公吗?

热门文章

  1. Matlab:实现返回所有波束的方位角和仰角对(附完整源码)
  2. odbc c语言 linux,C语言ODBC数据库操作
  3. win10电脑任务栏底部设置成正方形的小图标
  4. 用C#安装证书到受信任的根证书颁发机构 安全警告能去掉吗
  5. PS域业务与CS域业务的区别
  6. mysql语句去重查询总数_mysql查询语句
  7. 下载《建筑的永恒之道》
  8. 视频教程-OpenGL萌谷手册视频教程-其他
  9. 运筹优化学习02:Lingo求解带容量约束的车辆路径问题(CVRP)
  10. 计算机道德导论,道德科学导论.pdf