使用下面的公式来计算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. final的深入理解 - final数据

    先通过例子看一看: package com.sotaof.testfinal; public class Value { int i; public Value(int i){ this.i = i; ...

  2. 配置nginx静态资源路径

    1.修改nginx.conf文件 server节点下location节点的 root目录修改 location / { root html; index index.html index.htm; } ...

  3. Laravel学习笔记

    1.Laravel 5 动态设置缓存引擎 \Config::set('cache.default','redis'); var_dump( \Config::get('cache.default') ...

  4. Ice_cream's world I--hdu2120

    Ice_cream's world I Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Othe ...

  5. KNN(k-nearest neighbor的缩写)又叫最近邻算法

    KNN(k-nearest neighbor的缩写)又叫最近邻算法 机器学习笔记--KNN算法1 前言 Hello ,everyone. 我是小花.大四毕业,留在学校有点事情,就在这里和大家吹吹我们的 ...

  6. Oracle EBS-SQL (INV-9):检查搬运单分配异常.sql

    select h.request_number,         l.line_number,         msib.segment1 item_code,         t.transacti ...

  7. android widget->progressbar

    其中的indeterminteDrawable属性就是用来设置进度条颜色等属性的

  8. bzoj2014 [Usaco2010 Feb]Chocolate Buying

    Description     贝西和其他奶牛们都喜欢巧克力,所以约翰准备买一些送给她们.奶牛巧克力专卖店里 有N种巧克力,每种巧克力的数量都是无限多的.每头奶牛只喜欢一种巧克力,调查显示, 有Ci头 ...

  9. bug fix: openstack can not run swift for pyeclib and liberasurecode do not match

    最近在使用devstack 安装openstack nimble项目. nimble项目是一个专业的baremetal管理项目. 安装过程中,遇到这个问题. /opt/stack/swift/bin/ ...

  10. cmd命令大全/cmd命令提示符大全

    刚接触电脑的时候是从DOS系统开始,DOS时代根本就没有Windows这样的视窗操作界面,只有一个黑漆漆的窗口,让你输入命令.所以学DOS系统操作,cmd命令提示符是不可或缺的.可以告诉大家,大多数的 ...