ORA-01591 锁被未决分布式事务处理

在Oracle数据库中遇到ORA-01591错误,该错误通常由于分布式事务在网络中断后未能完成提交或回滚导致。本文详细介绍了如何定位和解决此类问题,包括查看`dba_2pc_pending`和`dba_2pc_neighbors`视图以获取事务信息,并使用`rollback force`命令强制回退未决事务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

数据库10.10.17.2

数据库10.10.17.3

10.10.17.2


SQL> create database  link DBL_JUNE connect to test identified by test using 'june';

数据库链接已创建。

SQL> update t100 set id=999 where id=3;

已更新16行。

SQL> update test.t100@dbl_june set id=999 where id=3;

已更新57行。



断开10.10.17.3的网络 

此时提交事务会挂起

SQL> commit;


此时执行commit 被挂起,这个时候如果网络恢复则问题会自动解决。
在10.10.17.2上执行了一个shutdown abort


SQL> col local_tran_id format a13
SQL> col global_tran_id format a30
SQL> col state format a8
SQL> col mixed format a3
SQL>  col host format a10
SQL>  col commit# format a10
SQL> 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#
------------- ------------------
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

scan724

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值