ORA-02049: 超時: 分佈式事務處理等待鎖 問題的解決

現在有數據庫A,數據庫B,在數據庫A上創建dblink,通過dblink向數據庫B中插入數據,報如下錯誤:

        ORA-02049: 超時: 分佈式事務處理等待鎖

問題原因分析:第一次執行操作後出錯,數據庫沒有提交或回退,未關閉原有數據庫窗口,重新打開新窗口執行數據插入操作,報ORA-02049錯誤

解決途徑:關閉所有數據庫窗口,重新打開數據庫後執行如下語句,

      查看死鎖的進程

SELECT 
 S.USERNAME,
 DECODE(L.TYPE, 'TM', 'TABLE LOCK', 'TX', 'ROW LOCK', NULL) LOCK_LEVEL,
 O.OWNER,
 O.OBJECT_NAME,
 O.OBJECT_TYPE,
 S.SID,
 S.SERIAL#,
 S.TERMINAL,
 S.MACHINE,
 S.PROGRAM,
 S.OSUSER
  FROM V$SESSION S, V$LOCK L, DBA_OBJECTS O
 WHERE L.SID = S.SID
   AND L.ID1 = O.OBJECT_ID(+)
   AND S.USERNAME IS NOT NULL;


將死鎖進程殺掉

   ALTER SYSTEM KILL SESSION '537,5217';


重新執行數據插入操作,一切正常。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章