常常在做Oracle DataGuard 切換的時候,會在alert log中看到類似的錯誤:

 

ORA-02062: distributed recovery received DBID 4cbc54f8, expected b0033682

 

這個錯誤是由於該SQL使用DBLINK在做資料異動操作,但是因為切換後,該SQL無法完整執行完,所以系統中會一直報ORA-02062的錯誤,

不過這個錯誤對系統部會有甚麼影像,解決方法就是把該操作從archive log中給purge掉就好。

操作程序:

 

--查出panding的tran_id

SQL> select local_tran_id from dba_2pc_pending;

LOCAL_TRAN_ID
----------------------
311.29.1423284

--將該tran從log中給清除掉

SQL> EXECUTE DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY('311.29.1423284');

PL/SQL procedure successfully completed.

SQL> commit;

Commit complete.

SQL> select local_tran_id from dba_2pc_pending;

no rows selected
 

原廠文件對這個錯誤的描述:

 

arrow
arrow
    文章標籤
    oracle
    全站熱搜
    創作者介紹
    創作者 噗噗噗的潛水珽 的頭像
    噗噗噗的潛水珽

    潛水珽的異想世界

    噗噗噗的潛水珽 發表在 痞客邦 留言(0) 人氣()