[英]Oracle Reyclebin Not Releasing Space
我在Oracle 12.1上的数据库上工作。 每当我们出于任何原因删除表时,它都会进入回收站。 通常,每当我们构建另一个需要更多空间的表时,该空间就会自动在回收站中打开。 最近,回收站根本没有释放空间。 我必须手动清除回收站,否则无法构建需要该空间的表。
如何确保将回收站设置为仅在必要时自动清除自身? 我不需要自定义脚本或自动化程序; 我想按设计和预期的方式使用回收站。
您不应该依赖Oracle自动清除回收站,因为它的行为没有得到正确记录。 手动清除回收站可能是最好的选择。
根据Oracle 10g文档,回收站将根据空间压力先入先出。 如果用户用完配额或表空间已满或需要扩展数据文件,则会发生空间压力。
这是一个好的开始,但是该文档存在一些问题-它不能涵盖所有空间方案,例如完整的ASM磁盘组或OS驱动器,并且在11g版或更高版本中不存在。 我在My Oracle Support上也找不到任何相关信息。
Oracle通常具有丰富的文档,并且很少会在手册中看到这样的概念。 也许行为在现代版本中已完全改变,并且现在变得如此怪异和复杂,以至于没人愿意记录下来。 也许他们只是忘记了。
如果可能,请使用手动清除。 或者考虑缩小某些数据文件以更紧密地匹配磁盘组或操作系统限制。 也许那时甲骨文将“看到”太空压力。
每当我重新启动Oracle时,该错误就会消失。 我仍然没有此错误的根本原因说明。
根据@Jon Heller的回应,现在依靠回收站来完成其工作不一定是安全的。 在这种情况下,我的团队在适当的情况下创建了低风险的“清除”语句。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.