决定undo表空间的大小

时间:2023-03-10 00:21:10
决定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块需要设置的大小【实际大小应该大于计算出来的值】