删除级联为oracle 11g

时间:2014-06-25 07:50:53

标签: sql oracle oracle11g data-warehouse database-administration

是否有任何方法可以在不锁定所有子表的情况下在级联上执行删除。还可以对不是子表中的外键的键执行删除。子表中的外键被索引。当前,情况是当删除发生时,所有子表上的锁都不允许因锁而发生插入

感谢

SRI

1 个答案:

答案 0 :(得分:0)

作为解决方案,您可以添加一个具有两个可能值“Y”/“N”(“1”/“0”等)的字段,该字段将显示该记录已被删除。然后你可以建立一个工作(it is ok for long term operation)这个过程将在后台运行,它将收集已删除的行并删除它们。

第二种方式,尝试运行您的事务,当您看到您的表执行完全锁定时执行:

ALTER TABLE <<YOUR_LOCKED_TABLE_NAME>> DISABLE TABLE LOCKS

然后您的事务必须以异常ORA-00069结束,如果是这样,您的表实际上是锁定的,您必须检查外键上是否有B-Tree索引,并且您不使用任何位图索引。