使用下面的公式来计算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. PhpExcel使用方法

    下面是总结的几个使用方法 include 'PHPExcel.php'; include 'PHPExcel/Writer/Excel2007.php'; //或者include 'PHPExcel/ ...

  2. VMware下设置CentOS虚拟机与主机同一网段

    由于在开发中经常使用到自己的电脑搭建虚拟机器进行个人开发,而虚拟机器每次登录所使用的命令行界面比较小,看起来也不舒服.以下主要对centos虚拟机器下配置与主机共享同一网段IP,通过第三方软件(put ...

  3. Safecracker

    问题陈述: 杭州电子科技大学HANGZHOU DIANZI UNIVERSITY Online Judge Problem - 1015 问题解析: 深度优先搜索(Depth_First Search ...

  4. *1022. D进制的A+B【考前最后一道题】

      /* *Main.c *1022. D进制的A+B Ver.1 *Created on : 2014.9.5 *****测试通过****** */ #include <stdio.h> ...

  5. HDU 1312 Red and Black(bfs)

    Red and Black Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Descr ...

  6. DataGridView 去掉多余的列

    去掉DataGridView多余的列: this.DataGridView.AutoGenerateColumns = false;

  7. QT Creator 2.7.2 代码自动补全快捷键设置

    在QT Creater界面点[工具]再进[选项]找到[环境]下的[键盘]选项,搜索[CompleteThis]发现默认快捷键就是CTRL+SPACE,把它删除,然后添加自己想设置的快捷键(因为之前用e ...

  8. [WPF 如何] 如何向 ComboBox 添加一个空白选项

    原文:[WPF 如何] 如何向 ComboBox 添加一个空白选项 看到这个问题,你可能会蔑视一笑 : 这也能成文章? 确实,你只需要在 ItemsSource 的0位置上插入一个空白的项就是了,如: ...

  9. html5 web worker

    A web worker is a JavaScript running in the background, without affecting the performance of the pag ...

  10. webshell 匿名用户(入侵者)

    “web”的含义是显然需要服务器开放web服务,“shell”的含义是取得对服务器某种程度上操作权限.webshell常常被称为匿名用户(入侵者)通过网站端口对网站服务器的某种程度上操作的权限.由于w ...