如何估算Oracle数据库所需的UNDO表空间的大小
要确定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表空间的大小相关推荐
- Oracle数据库迁移:异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7
墨墨导读:本文来自墨天轮用户"你好我是李白"的投稿,记录一个Oracle数据库迁移过程 :异构传输表空间TTS HP-UX迁移至Redhat Linux 7.7.墨天轮主页:htt ...
- oracle建用户之前是否必须建表空间,Oracle数据库-建库、建表空间,建用户
Oracle数据库-建库.建表空间,建用户 Oracle安装完后,其中有一个缺省的数据库,除了这个缺省的数据库外,我们还可以创建自己的数据库. 对于初学者来说,为了避免麻烦,可以用'Database ...
- oracle 扩容undo,某银行积分系统数据库RAC环境扩充undo表空间
环境: 当前数据库版本oracle 10.2.0.5 ,两节点RAC环境 OS aix 6.1 HACMP5.5 UNDO表空间用于存放UNDO数据,当执行DML操作(insert.update.de ...
- oracle报错数据复数,在ORACLE数据库间移动或复制表空间测试
做了个移动表空间的测试 我想把数据库orcl里面的某个表空间,移到另一个数据库epma 先建一些表空间,以及用户 create tablespace tts1 datafile 'D:\ORADATA ...
- oracle 数据库,用户管理以及表空间等相关基础操作
开启超级管理员模式 sqlplus "/as sysdba" 修改BI账户密码为721521 alter user BI identified by 721521; #修改时间格式 ...
- Oracle数据库删除用户和删除表空间及常见错误解决
最近工作用到了impdp命令(数据库导入),与它对应的是expdp(工作中遇到了,在给大家讲讲遇到的问题),在删除用户和表空间时,遇到了点问题,写一下解决办法,供大家参考. 首先讲下删除用户和表空间 ...
- Oracle数据库个人整理常用的表空间、用户、授权操作
1.表空间相关sql -- 创建表空间名为test_tablespace_name,存储位置为D:\DB\oradata\orcl\test_tablespace_name.dbf,大小为128m,无 ...
- Linux操作Oracle(8)——Oracle数据库迁移全纪录(1) — 表空间 用户 权限迁移
目录 一.表空间迁移 1.查看源数据库表空间结构 2.表空间创建 二.用户及权限迁移
- 查看Oracle数据库所有的用户及表空间等
查看所有用户:select * from all_users; 查看表空间:select tablespace_name from dba_tablespaces; 查看用户具有怎样的角色:selec ...
最新文章
- 谈一谈算法工程师的落地能力
- 快速解码base64和utf-8的ASCII编码和URL解码
- javaweb简单的登录增删改查系统_利用python操作小程序云数据库实现简单的增删改查!
- 通过 poi 导入 Excel代码
- database design three form
- jQuery1.11源码分析(8)-----jQuery调用Sizzle引擎的相关API
- NSNotificationCenter消息通信机制介绍(KVO)
- 关于防止表单form重复提交的方式
- 存储过程和transaction
- media encoder中文2022已上线
- SAP soamanager发布的Webservice服务,调用时出现http500报错
- 190405每日一句
- android多音字转拼音工具分装
- 读书笔记——WebKit技术内幕 HTML结构
- appcan外部网页css,Appcan开发之页面布局与CSS排版
- 为魅族助攻,联发科发布Helio P25处理器
- python3 pdf下载无加密_如何实现使用python将pdf文档加密?
- 云函数能写php吗,FunctionCloud
- J2SE:总结—基础很重要哈!
- DPVS - 小米高性能负载均衡器