ORA-02049:超時:分散式事務處理等待鎖 問題解決
阿新 • • 發佈:2021-02-07
技術標籤: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 '1423,21679';
重新執行資料插入操作時,一切正常。