无法删除约束

时间:2015-01-13 10:48:27

标签: sql oracle ddl

我对名为BIN$DHUs7v8fwyvgUAB/AQAHZQ==$0

的oracle数据库上的奇怪表有一些奇怪的限制

我不能放弃这些限制。我收到以下错误:

  

ORA-38301:无法对回收站中的对象执行DDL / DML

3 个答案:

答案 0 :(得分:7)

这些是数据库的Recycle Bin内的表,换句话说,这些表已被删除。要清除它们,请使用:

purge recyclebin;

您可以找到有关PURGE command in the Oracle Database documentation

的更多信息

答案 1 :(得分:5)

Oracle recycle bin是数据字典的一个特殊部分,它以一种允许以后恢复的方式存储已删除的对象。

这些对象(名为BIN$unique_id$version,与问题中的对象一样)可以直接操作,但应该是purged from the recycle bin

PURGE INDEX BIN$DHUs7v8fwyvgUAB/AQAHZQ==$0

答案 2 :(得分:1)

您需要禁用oracle recyclebin,删除该对象,然后再次启用它

ALTER SYSTEM SET recyclebin = OFF;
--delete object
ALTER SYSTEM SET recyclebin = on;