关于“ORA-02049: 超时: 分布式事务处理等待锁”的原因和解决办法
来源:互联网 发布:winzip 软件下载 编辑:程序博客网 时间:2024/05/16 05:40
【问题】:
ORA-02049: 超时: 分布式事务处理等待锁。
【问题思路】:
(1)首先我在数据库中刚查过数据(印刷流水号),sql为:select visaserialno, businessno,visacode, visaname, usercode, visastatus, comcode from vsmark
where visacode like 'DAC051A32007A(山东)' and usercode='02110003' for update;
(2)然后在核心系统中输入查询的印刷流水号visaserialno,在核心系统中调用接口出现 ORA-02049: 超时: 分布式事务处理等待锁 的错误。
(3)我怀疑是因为上述sql只for update而没有提交事务(commit),数据库事务你没有commit或者rollback导致事务不能统一提交。导致把错误回传给客户端让其处理。因为核心系统用的数据库和我更改的数据库是一致的。
(4)然后我把本地数据库commit,再在核心系统中调用接口。成功。
【总结】:
该参数指定等待分布式锁资源的时间,超过这个时间事务自动回滚,即在等待未释放的资源超过一定的时间,系统自动报错给客户端,就会以ORA-02049: 超时: 分布式事务处理等待锁 的方式提错给你。该值默认为60,即等待分布式锁资源60秒。从上面的测试来看,使用dblink做分布式事务时一定要及时commit或rollback,尽量在分布式应用中使用短事务为宜。dblink 作用就是让数据库中的数据负载均衡,一般情况下数据量较大的数据都会用到。阅读全文
0 0
- 关于“ORA-02049: 超时: 分布式事务处理等待锁”的原因和解决办法
- ORA-02049: 超时: 分布式事务处理等待锁
- ORA-02049 超时分布式事务处理等待锁
- 【ORA-02049】超时分布式事务处理等待锁
- ORA-02049: 超时: 分布式事务处理等待锁 问题的解决
- 【ORA-02049】超时分布式事务处理等待锁 解决方法
- 【ORA-02049】超时分布式事务处理等待锁 解决方法
- 【ORA-02049】超时分布式事务处理等待锁 解决方法
- ORA-02049: 超时: 分布式事务处理等待锁模拟
- ORA-02049: 超时: 分布式事务处理等待锁诊断
- 【ORA-02049】超时分布式事务处理等待锁 解决方法
- 超时分布式事务处理等待锁 解决办法
- ORA-02409:超时:分布式事务处理等待锁定ORA-02063
- 关于ORA-01000错误产生的原因和解决办法
- Android网络超时的原因和解决办法
- ORA-04021: 等待对象锁超时
- ORA-04021: 等待对象锁超时
- ORA-01591 锁被未决分布式事务处理
- Java 单例模式的3种写法
- linux驱动之定时器的使用
- C++ stringstream实现不同类型数据的转换
- Java 集合深入理解(16):HashMap 主要特点和关键方法源码解读
- kafka浅谈
- 关于“ORA-02049: 超时: 分布式事务处理等待锁”的原因和解决办法
- SSH项目中Hibernate没能自动建表的原因
- bzoj2427-tarjan+树形dp+背包
- php实现表单验证类
- 使用 Jenkins 和 Team Services 将应用部署到 Linux VM
- SSH工具连接Linux服务器被拒绝
- 产生随机数
- css+div垂直居中布局总结(3种方案)
- SOA微服务案例springboot+mybatis使用gradle构建案例