如何评估undo需要多大空间?
10M/
我来答
添加附件
收藏
复制链接
微信扫码分享
在小程序上查看
分享
添加附件
问题补充
1条回答
默认
最新
方法一:
要确定需要的 undo 表空间的大小,需要以下3条信息
aur: 以秒为单位的undo retention
sql> show parameter undo retention;
//--900秒秒
bups:计算业务高峰期每秒产生undo 数据块的个数
sql> select max(undoblks / ((end_time - begin_time)*24*3600)) from v$undostat;
dbs: 得到数据块大小
sql> show parameter db block size
//默认8k
参考计算公式:
undospace =ur*ups*dbs + dbs*24
参考计算undo表空间大小语句:
select (ur*ups*dbs + dbs * 24) / 1024 / 1024 as "undo size(m)"
from (select value as ur from v$parameter where name = 'undo retention'),
(select max(undoblks / ((end_time - begin_time) * 24 * 3600)) as ups from v$undostat),
(select value as dbs from v$parameter where name = 'db block size');
如果现在 undo 表空间的大小小于计算出来的大小,建议将其增大至计算出来的推荐
值以上。
方法二:
sql> select (
(select max(undoblks)/600*max(maxquerylen) from v$undostat)*(select value from v$parameter where name ='db_block_size'))/1024/1024 as need_size from dual;
评论
有用 1
回答交流
提交
问题信息
请登录之后查看
邀请回答
暂无人订阅该标签,敬请期待~~
墨值悬赏

