正确的思路和解法应该如下:
(1)检查被阻塞会话的等待事件
更新语句回车以后没有回显,明显是被阻塞了,那么现在这个会话当前是什么等待事件呢?...可以通过SESSION等待去获取这些信息:
SQL> SELECT SID,EVENT,USERNAME,SQL.SQL_TEXT FROM V$SESSION S,V$SQL SQL WHERE S.SQL_ID...*Net message from client LHR SELECT * FROM SCOTT.EMP FOR UPDATE
可以看到,实例1上的SID为65的会话阻塞了实例2上的...上述方法是最简单的,如果使用更传统的方法,那么实际上也并不难,从GV$LOCK视图中去查询即可,如下所示:
SQL> SQL> SELECT TYPE,ID1,ID2,LMODE,REQUEST FROM...SQL> ALTER SYSTEM KILL SESSION '65,3707,@1' IMMEDIATE;
System altered.
再检查之前被阻塞的更新会话,可以看到已经更新成功了。