摘要: 检查死锁的sql语句1.SELECT SID, DECODE(BLOCK, 0, 'NO', 'YES' ) BLOCKER, DECODE(REQUEST, 0, 'NO','YES' ) WAITERFROM V$LOCKWHERE REQUEST > 0 OR BLOCK > 0ORDER BY block DESC;2.SELECT bs.username "Blocking User", bs.username "DB User", ws.username " 阅读全文
posted @ 2008-02-20 17:30 池建强 阅读(2991) 评论(0) 推荐(0) 编辑
摘要: http://book.csdn.net/bookfiles/82/index.html6.2.6 死锁如果你有两个会话,每个会话都持有另一个会话想要的资源,此时就会出现死锁(deadlock)。例如,如果我的数据库中有两个表A和B,每个表中都只有一行,就可以很容易地展示什么是死锁。我要做的只是打开两个会话(例如,两个SQL*Plus会话)。在会话A中更新表A,并在会话B中更新表B。现在,如果我想在会话B中更新表A,就会阻塞。会话A已经锁定了这一行。这不是死锁;只是阻塞而已。我还没有遇到过死锁,因为会话A还有机会提交或回滚,这样会话B就能继续。如果我再回到会话A,试图更新表B,这就会导致一个死 阅读全文
posted @ 2008-02-20 17:28 池建强 阅读(2564) 评论(0) 推荐(0) 编辑