决定undo表空间的大小

1、查询每秒最高需要的undo的数据块【每个块8k大小】
sys@ORA11>  select max(undoblks / ((end_time - begin_time)*24*3600)) from v$undostat;

MAX(UNDOBLKS/((END_TIME-BEGIN_TIME)*24*3600))
---------------------------------------------
                       3.56666667

 



2、查询undo_retention大小
 sys@ORA11> show parameter undo

NAME                         TYPE              VALUE
------------------------------------ ---------------------- ------------------------------
undo_management                string              AUTO
undo_retention                    integer              900
undo_tablespace                string              UNDOTBS1

 



3、查询db_block_size大小
sys@ORA11> show parameter block_size

NAME                         TYPE              VALUE
------------------------------------ ---------------------- ------------------------------
db_block_size                    integer              8192

 

 
所以undo大小可以定位8k*3.56666667数据块*900秒
 
8k*900秒=7200k=7.2M*3.5666块=undo块需要设置的大小【实际大小应该大于计算出来的值】
posted @ 2014-06-05 21:22  ZhenXing_Yu  阅读(252)  评论(0编辑  收藏  举报