如何估算Oracle数据库所需的UNDO表空间的大小

2014-11-24 18:37:31 · 作者: · 浏览: 0

UR 以秒为单位的UNDO_RETENTION
UPS 每秒生成的还原数据块的数量
DBS db_block_size


UndoSpace = [UR * (UPS * DBS)] + (DBS * 24)


UNDO_RETENTION是一个参数,此参数控制为提供读一致性而保留的还原数据量,以秒为单位定义,可以在初始化文件中设置,或使用 ALTER SYSTEM 命令来动态修改。


如果值为900,则可以使还原数据保留 15 分钟,当然需要足够的存储空间才行。


那么如何计算每秒生成的还原数据块的数量呢,可以通过v$undostat视图的begin_time、end_time和undoblks三个字段的值查询出来,计算的SQL语句如下:


为了获得满足业务需要的结果,一般应该在一天中数据库负载最繁重的时候进行计算。