决定undo表空间的大小
原创
©著作权归作者所有:来自51CTO博客作者yzx258188的原创作品,请联系作者获取转载授权,否则将追究法律责任
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大小
@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块需要设置的大小【实际大小应该大于计算出来的值】