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博客 ” ,链接:https://blog.itpub.net/27036311/viewspace-776580/
,如需转载,请注明出处,否则将追究法律责任。