1. 程式人生 > 其它 >ORA-02049:超時:分散式事務處理等待鎖 問題解決

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

技術標籤:OracleORA-02049分散式事務處理等待鎖資料庫

資料庫新增DBLink後,很容易出現一個問題:
ORA-02049:超時:分散式事務處理等待鎖
ORA-02063:緊接著line(起自ODS_LINK)
在這裡插入圖片描述

問題原因分析:第一次執行操作後出錯,資料庫沒有提交或回退,未關閉原有資料庫視窗,重新開啟新視窗執行資料插入操作,報ORA-02049錯誤。
解決辦法:
資料庫登陸管理員賬號檢視
1、檢視死鎖程序

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;

2、找出LOCK_LEVEL列為TABLE LOCK或者ROW LOCK的SID和SERIAL#,然後將死鎖程序殺掉

ALTER SYSTEM KILL SESSION ‘SID,SERIAL#’;
例:

ALTER SYSTEM KILL SESSION '1423,21679';

重新執行資料插入操作時,一切正常。