解决atomikos在oracle应用中的XA事务异常 Error in recovery
2019独角兽企业重金招聘Python工程师标准>>>
最近用atomikos的JTA二阶段提交解决多数据源的事务问题。服务在实验环境和测试环境下(oracle版本分别是11.2.0.1和11.2.0.2),跑起来是正常的,但当把服务部署到正式环境(oracle 11.2.0.4)后,奇怪的事情就发生了,一直打印警告 xa异常,具体的异常信息如下:
17:41:49.502 WARN 4924 --- [main] c.a.d.xa.XATransactionalResource : Error in recoveryjavax.transaction.xa.XAException: nullat oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:703)at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromXAResource(XATransactionalResource.java:554)at com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:512)at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromResourceIfNecessary(XATransactionalResource.java:615)at com.atomikos.datasource.xa.XATransactionalResource.endRecovery(XATransactionalResource.java:583)at com.atomikos.icatch.imp.TransactionServiceImp.recover(TransactionServiceImp.java:558)17:41:49.517 WARN 4924 --- [main] c.a.icatch.imp.TransactionServiceImp : ERROR IN RECOVERYcom.atomikos.datasource.ResourceException: Error in recoveryat com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromXAResource(XATransactionalResource.java:565)at com.atomikos.datasource.xa.XATransactionalResource.recover(XATransactionalResource.java:512)at com.atomikos.datasource.xa.XATransactionalResource.recoverXidsFromResourceIfNecessary(XATransactionalResource.java:615)at com.atomikos.datasource.xa.XATransactionalResource.endRecovery(XATransactionalResource.java:583)
经过排查后,定位到有可能是oracle 11.2.0.4(这个应该是商业版,不能通过官网下载的)需要自行打开XA的支持,又经过好几个小时尝试后,使用 dba账号 通过以下命令给数据源的用户授予XA权限可以解决问题。
grant select on sys.dba_pending_transactions to <user name>;
grant select on sys.pending_trans$ to <user name>;
grant select on sys.dba_2pc_pending to <user name>;
grant execute on sys.dbms_system to <user name>;
转载于:https://my.oschina.net/thinwonton/blog/2032262
解决atomikos在oracle应用中的XA事务异常 Error in recovery相关推荐
- 【分布式事务】面试官问我:MySQL中的XA事务崩溃了如何恢复??
写在前面 前段时间搭建了一套MySQL分布式数据库集群,数据库节点有12个,用来测试各种分布式事务方案的性能和优缺点.测试MySQL XA事务时,正当测试脚本向数据库中批量插入数据时,强制服务器断电! ...
- 解决:-source 1.6 中不支持 diamond 运算符 [ERROR] (请使用 -source 7 或更高版本以启用 diamond 运算符)
前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家.点击跳转到教程. 1. 工程打包 mvn clean install 执行报错: 2. 解决方法,在pom中加上如下配 ...
- Oracle 存储过程 中如何使用事务Transaction 自主事务 自治事务
Oracle基础 存储过程和事务 一.事务和存储过程 在存储过程中如何使用事务.当需要在存储过程中同时执行多条添加.修改.删除SQL语句时,为了保证数据完整性,我们需要使用事务.使用方式和在PL-SQ ...
- nslang oracle_解决ojdbc14连接oracle报“java.sql.SQLException: Io 异常: Size Data Unit (SDU) mismatch”异常问题...
一.前言 通过ojdbc14.jar连接oracle数据库,应用运行期间报出"java.sql.SQLException: Io 异常: Size Data Unit (SDU) misma ...
- MySQL分布式事务(XA事务)
MySQL分布式事务(XA事务) 官网:https://dev.mysql.com/doc/refman/5.7/en/xa.html 1.什么是分布式事务 分布式事务就是指事务的参与者.支持事务的服 ...
- mysql事务控制(xa分布式事务)和锁定语句_MySQL的SQL语句 -事务性语句和锁定语句(7)- XA 事务...
XA 事务 InnoDB 存储引擎支持 XA 事务.MySQL XA 的实现基于 X/Open CAE 文档 Distributed Transaction Processing: The XA Sp ...
- oracle分区list,Oracle 分区表中存在range-list表分区时遇到问题及解决办法
Oracle 分区表中存在range-list表分区时遇到问题及解决办法 我们遇到的通常是list分区这种居多,我就不介绍了. 以下解决的是 复合分区情况 表已存在,需要在范围分区中增加一个分区 我们 ...
- oracle忽略除数为0,ora-01476除数为0的解决办法,oracle中decode()的使用
执行报表查询,固定的一个时间点没有数据,应该是有数据的,把前一个时间节点往前调是有的,往后调也有 bebug报错 把sql放到数据库中,发现提示如截图 ====================== 解 ...
- oracle连接中出现错误ORA-12541,ORA-12514,ORA-01017的解决方法
1.出现如下错误:ORA-12541:TNS:no listener,如下图所示: 错误原因是我们没有开启Listener监听器服务,解决方法是在服务中开启这个服务,如下图所示. 2.出现如下错误:O ...
- Oracle数据库中scott用户不存在的解决方法
Oracle数据库中scott用户不存在的解决方法 参考文章: (1)Oracle数据库中scott用户不存在的解决方法 (2)https://www.cnblogs.com/hjweifans/p/ ...
最新文章
- Android中Uri的使用
- Boost:align down向下对齐的测试程序
- 数学三大核心领域概述:代数、几何、分析
- IFC2x3标准阅读
- nginx多入口配置隐藏.php,Nginx配置tp5支持pathinfo以及隐藏入口文件
- dmv io读写高的sql_适用于DBA的前8大新(或增强)SQL Server 2017 DMV和DMF
- H5自定义属性详细介绍
- omnigraffle 画曲线_OmniGraffle使用的10个小技巧
- halcon常用代码(持续更新)
- 下一代操作系统与软件
- HashMap hash 原理分析
- 进程与线程的区别与联系(经典面试题)
- 电脑上怎么做pdf文件_PDF文件怎么拆分?一看就会!
- 用Python做数据分析之数据统计
- SqlServer 查询一段时间,没有数据自动补充0
- Python中的可变对象和不可变对象
- 未明学院数据分析报告:谁才是淘宝沙发界最受瞩目的明星店铺?大数据分析助你做“星探”!
- apt-get安装包失败提示The following packages have unmet dependencies
- 企业邮箱使用安全注意事项
- 什么是 SAP Support Package Stack
热门文章
- Netty in action—ChannelHandler和ChannelPipeline
- 优化理论11---- Zoutendijk可行方向法、非线性约束情形、ε起作用约束可行方向法、Frank-Wolfe 方法
- 什么是次梯度(次导数)
- 力扣-606. 根据二叉树创建字符串
- git 合并其他分支代码到自己的分支
- Harmony OS — Switch开关状态
- 下列软件包有未满足的依赖关系:无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系
- Futter基础第14篇: 中的按钮组件 RaisedButton、FlatButton、OutlineButton、IconButton、ButtonBar以及自定义按钮组件
- Android【报错】Failed to resolve: com.android.support:appcompat-v7:28.0.0-alpha【报错】
- Android编译判定BoardConfig.mk的宏控是否打开或者有效的验证方法