UNDOTBS表空间现在是什么?

时间:2009-03-06 09:57:49

标签: oracle oracle10g

我一直在加载测试应用程序,当我登录到企业控制台时,我注意到我的UNDOTBS表空间已满。

我知道UNDOTBS表空间用于保存事务开始之前存在的数据副本。我认为这个数据是暂时的,一旦事务完成/回滚就会过期吗?

我只是删除表空间,展开它,还是有办法清除它?

更新:数据库一夜之间没有活动。有人可以解释为什么oracle仍然需要这些数据吗?

3 个答案:

答案 0 :(得分:14)

离开它。这就是应该如何。 Oracle将根据需要管理和重用它。

对更新的回应:

UNDOTBS的行为与其他表空间不同......数据保留在那里并在不再需要时标记为未使用,而不是明确删除。

除非你做了相当大的DML并且开始出错,否则你通常不需要担心它,此时你可以看看增加UNDOTBS的大小,降低你的撤销保留等。

答案 1 :(得分:2)

除了cagcowboy已经发布的内容,如果你的撤消持续满,你就会收到错误。确保撤消的大小正确,并且撤消保留设置为适合大小的值。如果将撤消保留设置为高,则需要更多空间分配以撤消,以保留撤消保留中指定的时间限制的信息。只有基于撤消保留的老化交易才会被清除和删除。

答案 2 :(得分:1)

看看你的撤销保留期 - 确保它不是太大,otyherwise oracle将只保持缓冲数据,直到表空间填满。适当的期限取决于您的应用