Have you raised an SR and passed your demonstration - it's probably worth doing. Why do you have to drop the constraint rather than disabling it ? Have you tried a cycle of "alter ... rely disable novalidate" / "alter ... enable novalidate" / "alter ... validate" When the ORA-00060 happens what type of locks are deadlocking ? Is the graph always the same ? Have you considered simply not setting ddl timeouts and using a loop with a short dbms_sleep() to capture any locking errors and and retry after (say) 1/100the second ? Regards Jonathan Lewis http://jonathanlewis.wordpress.com @jloracle ________________________________ From: oracle-l-bounce@xxxxxxxxxxxxx [oracle-l-bounce@xxxxxxxxxxxxx] on behalf of Vasu [vasudevanr@xxxxxxxxx] Sent: 25 February 2014 18:50 To: Mark W. Farnham Cc: oracle-l@xxxxxxxxxxxxx Subject: Re: Drop Foreign Key and Insert causing deadlock I have got ORA-04020, ORA-00060 (and also ORA-00054 which is timeout as expected). Rest of the reply inline .