使用下面的公式来计算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. oracle数据库管理--用户管理

    一.oracle数据库用户管理 1.sys和system用户区别 (1)存储的数据的重要性不同:        sys所有oracle的数据字典的基表和视图都存放在sys用户中,这些基表和视图对于or ...

  2. bootstrap输入框从数据库读取数据

    https://github.com/lzwme/bootstrap-suggest-plugin

  3. SSH安全登录(远程管理)22端口

    Linux管理Linux 先加密再发送数据,更安全 一    联机加密工具         非对称钥匙对加密         安装    默认安装    openssh              启动 ...

  4. spring postconstruct

    package com.jdw.service.impl; import java.util.List; import javax.annotation.PostConstruct; import o ...

  5. 关于521(nyoj)

    关于521 点击这里 时间限制:1000 ms  |  内存限制:65535 KB 难度:2 描述 Acm队的流年对数学的研究不是很透彻,但是固执的他还是想一头扎进去. 浏览网页的流年忽然看到了网上有 ...

  6. 转:C4项目中验证用户登录一个特性就搞定

    转:C4项目中验证用户登录一个特性就搞定   在开发过程中,需要用户登陆才能访问指定的页面这种功能,微软已经提供了这个特性.     // 摘要:    //     表示一个特性,该特性用于限制调用 ...

  7. android邮件发送几种方式

    android中发送邮件我大概发现了3种,代码如下 package src.icetest; import org.apache.commons.mail.EmailException; import ...

  8. java 科学计数法表示转换

    BigDecimal strScien = new BigDecimal("9.67953970412123E-05"); System.out.println(strScien. ...

  9. Hadoop 6、第一个mapreduce程序 WordCount

    1.程序代码 Map: import java.io.IOException; import org.apache.hadoop.io.IntWritable; import org.apache.h ...

  10. docker相关配置

    一.概述: 1.centos7下,默认firewalld为防火墙, systemctl status firewalld.service 2.关闭firewalld, systemctl stop f ...