ITPub博客

首页 > Linux操作系统 > Linux操作系统 > ORA-01591: lock held by in-doubt distributed transaction

ORA-01591: lock held by in-doubt distributed transaction

原创 Linux操作系统 作者:zhouxianwang 时间:2013-11-14 13:32:08 0 删除 编辑
ORA-01591: lock held by in-doubt distributed transaction 11.38.8621739


alter log:
Wed Nov 13 16:30:27 CST 2013
Error 2068 trapped in 2PC on transaction 11.38.8621739. Cleaning up.
Error stack returned to user:
ORA-02054: transaction 11.38.8621739 in-doubt
ORA-02068: following severe error from WMS
ORA-12152: TNS:unable to send break message
Wed Nov 13 16:30:27 CST 2013
DISTRIB TRAN HANMI.eb96f6e8.11.38.8621739
  is local tran 11.38.8621739 (hex=0b.26.838eab)
  insert pending prepared tran, scn=6870539198 (hex=1.99841bbe)

 SYS@ hanmi>  select ADDR,KTUXEUSN,KTUXESLT,KTUXESQN,KTUXESIZ  from x$ktuxe where  KTUXECFL  like '%DEAD%'
    2  ;                                                                                                   
                                                                                                           
  ADDR               KTUXEUSN   KTUXESLT   KTUXESQN   KTUXESIZ                                             
  ---------------- ---------- ---------- ---------- ----------                                             
  00002AFB7AF241E0         11         38    8621739          1   



system@xxxxx> SYSTEM@ xxxxx> r
  1* SELECT LOCAL_TRAN_ID, GLOBAL_TRAN_ID, STATE, MIXED, HOST, COMMIT#    FROM DBA_2PC_PENDING

LOCAL_TRAN_ID          GLOBAL_TRAN_ID                                                                                               STATE             MIX HOST                                                                                                                COMMIT#
---------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------- --- -------------------------------------------------------------------------------------------------------------------------------- ----------------
11.38.8621739          xxxxx.eb96f6e8.11.38.8621739                                                                                 prepared          no

SYSTEM@ xxxxx>     rollback force '11.38.8621739';

Rollback complete.

SYSTEM@ xxxxx> commit;


tail -f alert_xxxxx.log

Wed Nov 13 19:33:07 CST 2013
Thread 1 advanced to log sequence 27152 (LGWR switch)
  Current log# 5 seq# 27152 mem# 0: /u01/app/oracle/oradata/xxxxx/redo05.log
  Current log# 5 seq# 27152 mem# 1: /u02/oradata/xxxxx/redo05b.log
Wed Nov 13 19:45:26 CST 2013
DISTRIB TRAN xxxxx.eb96f6e8.11.38.8621739
  is local tran 11.38.8621739 (hex=0b.26.838eab)
  change pending prepared tran, scn=6870539198 (hex=1.99841bbe)
  to     pending forced rollback tran, scn=6870539198 (hex=1.99841bbe)
Wed Nov 13 19:53:46 CST 2013
Thread 1 advanced to log sequence 27153 (LGWR switch)
  Current log# 6 seq# 27153 mem# 0: /u01/app/oracle/oradata/xxxxx/redo06.log
  Current log# 6 seq# 27153 mem# 1: /u02/oradata/xxxxx/redo06b.log

刚开始不成功,最后执行就成功了,不知是不是与我更换了用户(system,刚开如用sys用户)有关,还是跟我重启了库有关?
不确定,还正问题解决了!!!!!!!



SYSTEM@ xxxx> SELECT LOCAL_TRAN_ID, GLOBAL_TRAN_ID, STATE, MIXED, HOST, COMMIT#    FROM DBA_2PC_PENDING;

LOCAL_TRAN_ID          GLOBAL_TRAN_ID                                                                                               STATE             MIX HOST                                                                                                                COMMIT#
---------------------- ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- ---------------- --- -------------------------------------------------------------------------------------------------------------------------------- ----------------
11.38.8621739          xxxxx.eb96f6e8.11.38.8621739                                                                                 forced rollback  no                                                                                                                       6870539198



SYS@ xxxxx> execute dbms_transaction.purge_lost_db_entry('11.38.8621739');

PL/SQL procedure successfully completed.



SYS@ xxxx >  SELECT LOCAL_TRAN_ID, GLOBAL_TRAN_ID, STATE, MIXED, HOST, COMMIT#    FROM DBA_2PC_PENDING;

no rows selected



SYS@ xxxx> select version from v$instance;

VERSION
-----------------
10.2.0.5.0





来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/27036311/viewspace-776580/,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2012-06-04

  • 博文量
    139
  • 访问量
    454473