使用下面的公式来计算undo_retention参数的值:

undo_retention=undo size/(db_block_size * undo_block_per_sec)

可以通过提交下面的查询来计算数据库中实际产生的撤销数据:

  1. sys@ORCL> select sum(d.bytes) "undo"
  2. 2    from v$datafile d, v$tablespace t, dba_tablespaces s
  3. 3   where s.contents = 'UNDO'
  4. 4     and s.status = 'ONLINE'
  5. 5     and t.name = s.tablespace_name
  6. 6     and d.ts# = t.ts#;
  7. undo
  8. ----------
  9. 1048576000

可以通过下面的查询计算undo_block_per_sec:

  1. sys@ORCL> select max(undoblks / ((end_time - begin_time) * 3600 * 24)) "UNDO_BLOCK_PER_SEC"
  2. 2    FROM v$undostat;
  3. UNDO_BLOCK_PER_SEC
  4. ------------------
  5. .109816972   --因为这里是我的测试数据库。
  1. sys@ORCL> show parameter db_block_size
  2. NAME                                 TYPE        VALUE
  3. ------------------------------------ ----------- ------------------------------
  4. db_block_size                        integer     8192

以秒来计算undo_retention参数的值:

  1. sys@ORCL> select 1048576000/(0.495726495726496*8192) from dual;
  2. 1048576000/(0.495726495726496*8192)
  3. -----------------------------------
  4. 258206.897

v$undostat视图包含了数据库如何来使用撤销空间的统计信息,以及运行时间最长的查询等信息。可以使用这些信息计算当前数据库所处理的工作负载的撤销空间大小。v$undostat视图中每一行显示十分钟时间间隔的撤销统计信息。表中最多包含576行数据,每一行记录十分钟。因此,最多可以查看四天内的撤销空间使用情况。

BEGIN_TIME:时间段的起始时间。

END_TIME:时间段的截止时间。

UNDOBLKS:在十分钟的间隔内数据库所消耗的撤销数据块数量。

TXNCOUNT:在十分钟时间间隔内所执行的事务数。

MAXQUERYLEN:显示了在十分钟间隔内该实例上执行的,耗时最长的查询所花的时间(单位为秒)。

MAXQUERYID:时间间隔内运行时间最长的SQL语句的标识符。

NOSPACEERRCNT:数据库在撤销表空间中,因为整个空间都被活动事务所占用,因而没有足够空间来存放新撤销数据的次数。

TUNED_UNDORETENTION:数据库在提交撤销所属事务后,将会保留撤销数据的时长,单位为秒。

  1. sys@ORCL> select to_char(begin_time, 'hh24:mi:ss') BEGIN_TIME,
  2. 2         to_char(end_time, 'hh24:mi:ss') END_TIME,
  3. 3         maxquerylen,
  4. 4         nospaceerrcnt,
  5. 5         tuned_undoretention
  6. 6    from v$undostat;
  7. BEGIN_TI END_TIME MAXQUERYLEN NOSPACEERRCNT TUNED_UNDORETENTION
  8. -------- -------- ----------- ------------- -------------------
  9. 17:37:31 17:43:00        1281             0                2062
  10. 17:27:31 17:37:31         978             0                1759
  11. 17:17:31 17:27:31         372             0                1153
  12. 17:07:31 17:17:31         974             0                1755
  13. 16:57:31 17:07:31         368             0                1151
  14. 16:47:31 16:57:31         968             0                1809
  15. 16:37:31 16:47:31         363             0                1205
  16. 16:27:31 16:37:31         961             0                1805
  17. 16:17:31 16:27:31         358             0                1200
  18. 16:07:31 16:17:31         957             0                1799
  19. 15:57:31 16:07:31         353             0                1195
  20. 15:47:31 15:57:31         953             0                1794
  21. 15:37:31 15:47:31         349             0                1190
  22. 15:27:31 15:37:31         948             0                1790
  23. 15:17:31 15:27:31         342             0                1185
  24. 已选择15行。

oracle在一个给定的时间段,会根据执行时间最长的查询来提高或降低撤销保留时间。

undo_retention:确定最优的撤销保留时间的更多相关文章

  1. Cassandra--设置数据保留时间

    在Cassandra中,可以设置列的保留时间(Time To Live),当该列超过保留时间后,会下一次读取中被墓碑(Tombstone)标记,然后保留一个垃圾回收周期(表属性gc_grace_sec ...

  2. kafka不停止服务的情况下修改日志保留时间

    kafka配置文件如下: broker.id=1 port=9092 host.name=ssy-kafka1 num.network.threads=4 num.io.threads=8 socke ...

  3. awr快照保留时间修改

    ==============  awr快照保留时间修改 ============= 1.查询当前awr报告保留时间 col SNAP_INTERVAL for a20col RETENTION for ...

  4. Oracle 回滚段undo

    Undo的作用 数据的回滚 一致性读 表的闪回(事务,查询的闪回..) 失败会话的恢复 回滚rollback操作 SQL> archive log list; ORA-01031: 权限不足 S ...

  5. Oracle12c 性能优化攻略:攻略目录表

    注:本文来源于 [美] Sam Alapati ,   Darl Kuhn ,  Bill Padfield  著   朱浩波 翻译 <Oracle Database 12C 性能优化攻略> ...

  6. ocp11g培训内部教材_053课堂笔记(043)_数据备份

    053:数据库高级管理: 目录 第一部分:数据库备份与恢复... 4 第一章:备份恢复概述... 4 1.1 备份的意义: 4 1.2 数据库故障的类型:... 4 1.3 制定你的备份和恢复的计划. ...

  7. ORACLE闪回机制分析与研究应用

    1.查看数据库归档和闪回状态,及环境准备SQL> archive log list;SQL> select flashback_on from v$database;关闭数据库,启动归档和 ...

  8. oracle之三闪回flashback

    闪回 flashback 5.1 flashback 的功能:1)利用undo data回溯或撤销提交的数据,2)flashback log 使database 可以恢复到过去某个时间点,可以作为不完 ...

  9. Oracle与Mysql的高级查询与难点sql

    一.连接查询  1.内连接      内连接用于返回满足连接条件的所有记录.默认情况下,在执行连接查询时如果没有指定任何连接操作符,那么这些连接查询都属于内连接. Sql代码   1.   SELEC ...

随机推荐

  1. centos 7 epel地址

    wget http://dl.fedoraproject.org/pub/epel/7/x86_64/e/epel-release-7-5.noarch.rpm

  2. javascript中with语句应用

    语法格式: with(obj){} obj指明了语句组中对象缺省时的参考对象,就是代表该语句块中的默认作用域为obj. <html> <head> <title>& ...

  3. 基本语法 - PHP手册笔记

    PHP标记 如果文件内容是纯PHP代码,最好在文件末尾删除PHP结束标记.这可以避免在PHP结束标记之后万一意外加入了空格或者换行符,会导致PHP开始输出这些空白,而脚本中此时并无输出的意图.当然PH ...

  4. Mvc中使用MvcSiteMapProvider实现站点地图之基础篇

    MvcSiteMapProvider 是针对 ASP.NET MVC 中,提供菜单. 网站地图. 站点地图路径功能,以及更多的工具.它提供配置使用一个可插入的体系结构,可以是 XML. 数据库或动态生 ...

  5. 利用Azure Backup备份和恢复虚拟机(2)

    虚拟机注册之后,下一步就是将他们添加为受保护的项,在菜单底部,单击"保护"按照提示选择需要保护的虚拟机     单击"下一步",在这个页面中需要选择配置虚拟机配 ...

  6. 定制化Azure站点Java运行环境(2)

    Azure Website上发布Java web应用 在Azure站点上发布Java Web应用非常简单,可以使用git从源代码发布,也可以使用FTP/FTPs直接发布,本节介绍FTP方式. 准备好你 ...

  7. gl.TexSubImage2D 使用遇到图片翻转的问题

    这2天在用gl.TexSubImage2D把几张小图转拼接成大图,如果在渲染物体之前拼接好就没有问题,但在开始渲染物体后拼接就会有问题.后来我做了2件事情来找原因, 1. 用拼好的图来画一个正方形,大 ...

  8. Chapter 5. Label and Entry Widgets 标签和输入部件

    Chapter 5. Label and Entry Widgets  标签和输入部件 有时候,你需要用户输入特定的信息,比如他们的名字,地址或者 甚至序号. 简单的方式来实现这个是使用Enry 部件 ...

  9. Exception in thread "main" java.io.IOException: Failed to set permissions of path

    在跑BuildForest的时候,编写了下面的程序: package test.breiman; import org.apache.mahout.classifier.df.mapreduce.Bu ...

  10. 可执行文件(ELF)格式的理解

    摘自http://www.cnblogs.com/xmphoenix/archive/2011/10/23/2221879.html 可执行文件(ELF)格式的理解 ELF(Executable an ...