關於oracle死鎖的模擬

流浪的野狼發表於2013-07-02

首先開啟兩個視窗,可以考慮同時登陸同一個賬號在兩個視窗中:

視窗一:

執行: * from emp for update;

視窗二:

執行: * from dept for update;

接著視窗一:

執行: dept set deptno=60 where dname='guijian';

視窗二: from emp where empno=7935;

執行:此時會產生死鎖的場景,同時視窗一得會話犧牲掉,視窗二的會話繼續等待執行:

dept set deptno=60 where dname='guijian';
update dept set deptno=60 where dname='guijian'
*
ERROR at line 1:
ORA-00060: deadlock detected while waiting for resource

若要解除鎖定,需要某個會話提交當前事務。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/28612416/viewspace-765347/,如需轉載,請註明出處,否則將追究法律責任。

相關文章