2014-06-25 101 views
0

有沒有什麼方法可以在不鎖定所有子表的情況下執行級聯刪除。此外,刪除是在子表中不是外鍵的鍵上執行的。子鍵中的外鍵表是indexed.Currently的情況是,當刪除正在發生的所有子表不允許插入,因爲鎖的級聯oracle 11g

感謝

SRI

+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索引,並且你不使用任何位圖索引。