要确定Oracle需要的UNDO 表空间的大小,需要以下三条信息:

UR      以秒为单位的UNDO_RETENTION
UPS    每秒生成的还原数据块的数量
DBS     db_block_size

UndoSpace = [UR * (UPS * DBS)] + (DBS * 24)

UNDO_RETENTION是一个参数,此参数控制为提供读一致性而保留的还原数据量,以秒为单位定义,可以在初始化文件中设置,或使用 ALTER SYSTEM 命令来动态修改。

SQL>ALTER SYSTEM SET UNDO_RETENTION=900;

SQL> show parameter undo_retention

NAME                                 TYPE        VALUE
------------------------------------ ----------- ------------------------------
undo_retention                       integer     900

如果值为900,则可以使还原数据保留 15 分钟,当然需要足够的存储空间才行。

那么如何计算每秒生成的还原数据块的数量呢,可以通过v$undostat视图的begin_time、end_time和undoblks三个字段的值查询出来,计算的SQL语句如下:

SQL> SELECT (UR * (UPS * DBS)) + (DBS * 24) AS "Bytes"
  2  FROM       (SELECT value AS UR
  3             FROM v$parameter
  4             WHERE name = 'undo_retention'),
  5     (SELECT (SUM(undoblks)/SUM(((end_time -begin_time)*86400))) AS UPS
  6     FROM v$undostat),
  7     (SELECT value AS DBS
  8     FROM v$parameter
  9     WHERE name = 'db_block_size');

Bytes
----------
445814.844

为了获得满足业务需要的结果,一般应该在一天中数据库负载最繁重的时候进行计算。

如何估算Oracle数据库所需的UNDO表空间的大小相关推荐

  1. Oracle数据库迁移:异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7

    墨墨导读:本文来自墨天轮用户"你好我是李白"的投稿,记录一个Oracle数据库迁移过程 :异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7.墨天轮主页:htt ...

  2. oracle建用户之前是否必须建表空间,Oracle数据库-建库、建表空间,建用户

    Oracle数据库-建库.建表空间,建用户 Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来说,为了避免麻烦,可以用'Database ...

  3. oracle 扩容undo,某银行积分系统数据库RAC环境扩充undo表空间

    环境: 当前数据库版本oracle 10.2.0.5 ,两节点RAC环境 OS aix 6.1 HACMP5.5 UNDO表空间用于存放UNDO数据,当执行DML操作(insert.update.de ...

  4. oracle报错数据复数,在ORACLE数据库间移动或复制表空间测试

    做了个移动表空间的测试 我想把数据库orcl里面的某个表空间,移到另一个数据库epma 先建一些表空间,以及用户 create tablespace tts1 datafile 'D:\ORADATA ...

  5. oracle 数据库,用户管理以及表空间等相关基础操作

    开启超级管理员模式 sqlplus "/as sysdba" 修改BI账户密码为721521 alter user BI identified by 721521; #修改时间格式 ...

  6. Oracle数据库删除用户和删除表空间及常见错误解决

    最近工作用到了impdp命令(数据库导入),与它对应的是expdp(工作中遇到了,在给大家讲讲遇到的问题),在删除用户和表空间时,遇到了点问题,写一下解决办法,供大家参考. 首先讲下删除用户和表空间 ...

  7. Oracle数据库个人整理常用的表空间、用户、授权操作

    1.表空间相关sql -- 创建表空间名为test_tablespace_name,存储位置为D:\DB\oradata\orcl\test_tablespace_name.dbf,大小为128m,无 ...

  8. Linux操作Oracle(8)——Oracle数据库迁移全纪录(1) — 表空间 用户 权限迁移

    目录 一.表空间迁移 1.查看源数据库表空间结构 2.表空间创建 二.用户及权限迁移

  9. 查看Oracle数据库所有的用户及表空间等

    查看所有用户:select * from all_users; 查看表空间:select tablespace_name from dba_tablespaces; 查看用户具有怎样的角色:selec ...

最新文章

  1. 谈一谈算法工程师的落地能力
  2. 快速解码base64和utf-8的ASCII编码和URL解码
  3. javaweb简单的登录增删改查系统_利用python操作小程序云数据库实现简单的增删改查!
  4. 通过 poi 导入 Excel代码
  5. database design three form
  6. jQuery1.11源码分析(8)-----jQuery调用Sizzle引擎的相关API
  7. NSNotificationCenter消息通信机制介绍(KVO)
  8. 关于防止表单form重复提交的方式
  9. 存储过程和transaction
  10. media encoder中文2022已上线
  11. SAP soamanager发布的Webservice服务,调用时出现http500报错
  12. 190405每日一句
  13. android多音字转拼音工具分装
  14. 读书笔记——WebKit技术内幕 HTML结构
  15. appcan外部网页css,Appcan开发之页面布局与CSS排版
  16. 为魅族助攻,联发科发布Helio P25处理器
  17. python3 pdf下载无加密_如何实现使用python将pdf文档加密?
  18. 云函数能写php吗,FunctionCloud
  19. J2SE:总结—基础很重要哈!
  20. DPVS - 小米高性能负载均衡器

热门文章

  1. linux相关(find/grep/awk/sed/rpm)
  2. java并发编程之美-阅读记录6
  3. leetcode-21-合并两个有序链表
  4. Flask之threading.loacl方法
  5. 顺序容器----顺序容器概述,容器库概览
  6. android stuido 在线安装svn插件,添加版本库无响应
  7. [Android学习系列14]聊天通信的实现
  8. 有关phpmailer的详细介绍及使用方法
  9. windows远程桌面超出最大连接数强制登录命令
  10. 用C#实现仿Ruby的XML Builder