千家信息网

Error 3113 trapped in 2PC on transaction xxx. Cleaning up. 错误分析处理

发表于:2024-11-24 作者:千家信息网编辑
千家信息网最后更新 2024年11月24日,一.报错信息Sun Oct 28 00:46:33 2018Error 3113 trapped in 2PC on transaction 644.3.881743. Cleaning up.Err
千家信息网最后更新 2024年11月24日Error 3113 trapped in 2PC on transaction xxx. Cleaning up. 错误分析处理

一.报错信息

Sun Oct 28 00:46:33 2018Error 3113 trapped in 2PC on transaction 644.3.881743. Cleaning up.Error stack returned to user:ORA-02054: transaction 644.3.881743 in-doubtORA-03113: end-of-file on communication channelORA-02063: preceding line from KMESBASun Oct 28 00:46:34 2018DISTRIB TRAN OMES.2b7345a.644.3.881743  is local tran 644.3.881743 (hex=284.03.d744f)  insert pending prepared tran, scn=14593464857025 (hex=d45.ce49f1c1)


二.分析

此类问题通常是由于网络问题或远程数据库异常导致的分布式事务失败。

执行下面SQL语句

select LOCAL_TRAN_ID,GLOBAL_TRAN_ID,STATE,MIXED,HOST,COMMIT# from dba_2pc_pending;#dba_2pc_pending视图记录等待恢复的分布式事务的信息select * from DBA_2PC_NEIGHBORS;#视图记录未决的分布式事务的输入输出连接信息


三.处理

1.如果在上述视图中查询到记录,则尝试force commit/rollback

commit force '644.3.881743';


2.如果不成功则进行如下操作

(1).Disable分布式恢复SQL> ALTER SYSTEM DISABLE DISTRIBUTED RECOVERY;System altered. (2).Puege(清空)in-doubt transaction entry:SQL> exec DBMS_TRANSACTION.PURGE_LOST_DB_ENTRY('644.3.881743');PL/SQL procedure successfully completed. (3).然后enable 分布式恢复:SQL> ALTER SYSTEM ENABLE DISTRIBUTED RECOVERY;


0