UNDO表空间大小评估

2484阅读 0评论2011-07-19 benxiong
分类:Oracle

UNDO表空间大小评估参考:

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

AUR :以秒为单位的UNDO_RETENTION

SQL> show parameter undo_retention;

BUPS:计算业务高峰期每秒产生undo数据块的个数

SQL> select max(undoblks / ((end_time - begin_time)*24*3600)) from v$undostat;

CDBS:得到数据块大小

SQL> show parameter db_block_size;

 

参考计算公式:

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表空间的大小小于计算出来的大小,建议将其增大至计算出来的推荐值值以上。

 

 

另外一种计算undo所需大小的方法:

    --计算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;

上一篇:Oracle用户、权限、角色管理
下一篇:ORACLE ASH/AWR