2011-10-10 65 views
3

我需要你的意见在这种情况下。我会尝试解释这种情况。我有一个Windows服务,它定期将数据存储在Oracle数据库中。存储此数据的表格按日期分区(间隔 - 日期范围分区)。该数据库还有一个dbms_scheduler作业,除其他操作外,它将截断和删除较旧的分区。删除一个表分区避免错误ORA-00054

这种方法已经工作了一段时间,但最近我有一个ORA-00054错误。经过一番调查,误差是用下面的步骤重现:

  1. 打开一个sqlplus的会话,禁用自动提交,并在 分区表没有提交变化插入数据,;
  2. 打开另一个sqlplus会话并截断/删除一个旧分区(如果我没有弄错,DDL 操作会自动提交)。我们 将得到ORA-00054错误。

有一些制约因素值得提及:

  • 我没有到数据库DBA访问;
  • 这是一个遗留应用程序和完整的重构不是 可行;

因此,在你看来,是否有任何方法可以放弃这些旧的分区,而没有遇到ORA-00054错误并且没有DBA干预的风险?我可以删除数据,但空分区的数量每天都会增加。

非常感谢提前。

回答