Error 3113 trapped in 2PC on transaction xxx. Cleaning up. 错误分析处理
一.报错信息
SunOct2800:46:332018Error3113trappedin2PContransaction644.3.881743.Cleaningup.Errorstackreturnedtouser:ORA-02054:transaction644.3.881743in-doubtORA-03113:end-of-fileoncommunicationchannelORA-02063:precedinglinefromKMESBASunOct2800:46:342018DISTRIBTRANOMES.2b7345a.644.3.881743islocaltran644.3.881743(hex=284.03.d744f)insertpendingpreparedtran,scn=14593464857025(hex=d45.ce49f1c1)
二.分析
此类问题通常是由于网络问题或远程数据库异常导致的分布式事务失败。
执行下面SQL语句
selectLOCAL_TRAN_ID,GLOBAL_TRAN_ID,STATE,MIXED,HOST,COMMIT#fromdba_2pc_pending;#dba_2pc_pending视图记录等待恢复的分布式事务的信息select*fromDBA_2PC_NEIGHBORS;#视图记录未决的分布式事务的输入输出连接信息
三.处理
1.如果在上述视图中查询到记录,则尝试force commit/rollback
commit force '644.3.881743';
2.如果不成功则进行如下操作
(1).Disable分布式恢复SQL>ALTERSYSTEMDISABLEDISTRIBUTEDRECOVERY;Systemaltered.(2).Puege(清空)in-doubttransactionentry:SQL>execDBMS_TRANSACTION.PURGE_LOST_DB_ENTRY('644.3.881743');PL/SQLproceduresuccessfullycompleted.(3).然后enable分布式恢复:SQL>ALTERSYSTEMENABLEDISTRIBUTEDRECOVERY;
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。