我一直在加载测试应用程序,当我登录到企业控制台时,我注意到我的UNDOTBS
表空间已满。
我知道UNDOTBS
表空间用于保存事务开始之前存在的数据副本。我认为这个数据是暂时的,一旦事务完成/回滚就会过期吗?
我只是删除表空间,展开它,还是有办法清除它?
更新:数据库一夜之间没有活动。有人可以解释为什么oracle仍然需要这些数据吗?
答案 0 :(得分:14)
离开它。这就是应该如何。 Oracle将根据需要管理和重用它。
对更新的回应:
UNDOTBS的行为与其他表空间不同......数据保留在那里并在不再需要时标记为未使用,而不是明确删除。
除非你做了相当大的DML并且开始出错,否则你通常不需要担心它,此时你可以看看增加UNDOTBS的大小,降低你的撤销保留等。
答案 1 :(得分:2)
除了cagcowboy已经发布的内容,如果你的撤消持续满,你就会收到错误。确保撤消的大小正确,并且撤消保留设置为适合大小的值。如果将撤消保留设置为高,则需要更多空间分配以撤消,以保留撤消保留中指定的时间限制的信息。只有基于撤消保留的老化交易才会被清除和删除。
答案 2 :(得分:1)
看看你的撤销保留期 - 确保它不是太大,otyherwise oracle将只保持缓冲数据,直到表空间填满。适当的期限取决于您的应用