如何减少oracle中的undo表空间大小?

时间:2009-12-11 10:53:21

标签: oracle

撤消表空间大小为30 GB甚至DATABASE上没有活动。

1 个答案:

答案 0 :(得分:4)

作为the documentation says,我们在UNDO表空间方面非常有限:即使在11g中,也没有缩小UNDO表空间的语法。如果没有干预,UNDO表空间的大小应该适合我们最大的事务。这意味着如果我们有一个每年运行一次的 huuuge 批处理过程,那么UNDO表空间应该足够大。

为什么Oracle不提供缩小UNDO表空间的工具?因为如果我们有可能再次将负载扩展到30GB,那么我们已将事务扩展到30GB。释放磁盘空间对我们没有帮助,因为UNDO表空间将尝试回收它。如果我们将这个空间用于其他目的,那么我们巨大的年度交易将会失败。

现在,如果你认为你有异常的数据处理,这会使你的表空间失真,并且你确信你永远不会再次需要那么多的UNDO 您确实需要磁盘空间,然后您可以使用ALTER DATABASE syntax缩小单个数据文件。