电脑故障

位置:IT落伍者 >> 电脑故障 >> 浏览文章

如何估计undo表空间大小


发布日期:2021/12/28
 

解释Undo Size = Undo_retention * UPS

最近oraclei频频在exp的时候发生ora才深感oraclei的undo 表空间自动管理模式好处

oraclei使用参数undo_retention 设置undo 的保留时间

SQL> show parameters undo

NAME TYPE VALUE

undo_management string AUTO

undo_retention integer

undo_suppress_errors boolean FALSE

undo_tablespace string UNDOTBS

通过在undo segment header中引入extent commit time记录每个区间涉及到的事务最近一次commit的时间

Extent Map

xa length:

x length:

x length:

xa length:

Retention Table

Extent Number: Commit Time:

Extent Number: Commit Time:

Extent Number: Commit Time:

Extent Number: Commit Time:

如何设置undo表空间的大小才能保证undo_retention ?使用公式

Undo Size = Undo_retention * UPS

UPS是undo block per second 我们可以通过V$UNDOSTAT UNDOBLKS获得

SQL> select avg(undoblks)/(*) UPS from v$undostat;

UPS

则undo_retention=至少需要 *=个数据块

上一篇:一步完成封装编译

下一篇:Squid基础与配置