ORA-1591 (分散式交易處理案例)

來源:互聯網
上載者:User

今天一個朋友遇到的問題,警示日誌中出現如下資訊:

ORA-1591:lockheldbyin-doubtdistributedtransaction1.92.66874

查詢dba_2pc的表,發現沒有分散式交易資訊:

selectlocal_tran_id,statefromdba_2pc_pending where local_tran_id='1.92.66874';

no rowsselected

但是去查實際的rollback segment資訊,卻發現有prepared狀態的分散式交易存在:

SELECTKTUXEUSN,KTUXESLT,KTUXESQN,/* Transaction ID */ 

    KTUXESTA Status,KTUXECFL FlagsFROM x$ktuxeWHERE ktuxesta!='INACTIVE'AND ktuxeusn=1;

 

 KTUXEUSN  KTUXESLT  KTUXESQN STATUS          FLAGS

---------- ---------- ---------- ---------------- ------------------------

        1        92    66874 PREPARED        SCO|COL|REV|DEAD

我們無法做commit force或者rollback force:

rollbackforce'1.92.66874';

ORA-02058:no preparedtransactionfoundwithID1.92.66874

遇到這種情況,只能製造虛假資料,再類比清理未提交的分散式交易;

alter system disable distributed recovery; 
INSERT INTO PENDING_TRANS$
  (LOCAL_TRAN_ID,
  GLOBAL_TRAN_FMT,
  GLOBAL_Oracle_ID,
  STATE,
  STATUS,
  SESSION_VECTOR,
  RECO_VECTOR,
  TYPE#,
  FAIL_TIME,
  RECO_TIME)
VALUES
  ('1.92.66874', /* <== 此處為你的local tran id */
  306206, /*                                        */
  'XXXXXXX.12345.1.2.3', /*  這些值不必更改,  */
  'prepared',
  'P', /*  是靜態參數,可以直接  */
  HEXTORAW('00000001'), /*  在這個sql中使用                            */
  HEXTORAW('00000000'), /*                                        */
  0,
  SYSDATE,
  SYSDATE);
 
INSERT INTO PENDING_SESSIONS$
VALUES
  ('1.92.66874', /* <==此處為你的local tran id  */
  1,
  HEXTORAW('05004F003A1500000104'),
  'C',
  0,
  30258592,
  '',
  146);
commit;

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.