作为一个没有啥工作经验的菜鸟怎么样去判断什么样的锁要去人工解决
------解决方案--------------------
- SQL code
/*模拟死锁产生的情景drop table emp; --if exists?create table emp( empid number(5), empname varchar2(100), empage number(5));*/truncate table emp;insert into emp values(1,'chenzw',27);insert into emp values(2,'chenzz',27);commit;--sqlplus窗口A 为empid为1的表加排他锁update emp set empage=empage+1 where empid=1;--sqlplus窗口B 为empid为2的表加排他锁update emp set empage=empage+2 where empid=2;--sqlplus窗口A 检测到死锁update emp set empage=empage+1 where empid=2;--sqlplus窗口B 检测到死锁update emp set empage=empage+2 where empid=1;--在窗口A上面运行的示例程序如下:SQL> truncate table emp;表被截断。SQL> insert into emp values(1,'chenzw',27);已创建 1 行。SQL> insert into emp values(2,'chenzz',27);已创建 1 行。SQL> commit;提交完成。SQL> update emp set empage=empage+1 where empid=1;已更新 1 行。SQL> update emp set empage=empage+1 where empid=2;update emp set empage=empage+1 where empid=2 *第 1 行出现错误:ORA-00060: 等待资源时检测到死锁