Free Web Hosting by Netfirms
Web Hosting by Netfirms | Free Domain Names by Netfirms

AmZone

A m Z o n e


The cause of ORA-00060 deadlock

How is ORA-00060 deadlock encountered? What is the cause?



ORA-00060: deadlock detected while waiting for resource

Deadlock occurs when two sessions get interlaced regarding the resources they want to acquire. This results in a conflict of resources acquired and to be acquired.
For example, Session A locks the first record in table ONE.
Session B locks the fifth record in table TWO.
Session A now tries to update the fifth record of table TWO (already locked by session B).
Session B also tries to update the first record of table ONE (already locked by session A).
Both sessions wait for each other to release the wanted resource, resulting in a deadlock.

Autonomous transactions can also result in deadlocks, like the below example


SQL>create or replace trigger am07 2 after insert or update or delete on am07 3 for each row 4 declare 5 l_chk pls_integer; 6 pragma autonomous_transaction; 7 begin 8 --update am07 set col1 = 1 where col1 = 1; 9 --insert into am07 values (2); 10 --select 1 into l_chk from am07 where col1 = 3; 11 delete from am07 where col1 = 3; 12 exception 13 when no_data_found then null; 14* end; SQL>/ Trigger created. SQL>delete from am07 where col1 = 3; delete from am07 where col1 = 3 * ERROR at line 1: ORA-00060: deadlock detected while waiting for resource ORA-06512: at "RAPID.AM07", line 8 ORA-04088: error during execution of trigger 'RAPID.AM07'


Press the Back button of you Browser to go to previous page
Home