【转】Oracle XA JTA事务报错 不支持XA事务
来源:互联网 发布:linux配置ip地址命令 编辑:程序博客网 时间:2024/05/22 08:01
转载出处:http://ylq2250.iteye.com/blog/1630696
异常代码如下:
[12/13/07 10:09:05:171 CST] 000002d6 RegisteredRes E WTRN0078E: An attempt by the transaction manager to callstart on a transactional resource has resulted in an error. The error code was XAER_RMERR. The exception stack tracefollows: oracle.jdbc.xa.OracleXAException at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1223) at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:318) at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.start(WSRdbXaResourceImpl.java:1324) at com.ibm.ejs.j2c.XATransactionWrapper.start(XATransactionWrapper.java:1467) at com.ibm.ws.Transaction.JTA.JTAResourceBase.start(JTAResourceBase.java:141) at com.ibm.ws.Transaction.JTA.RegisteredResources.startRes(RegisteredResources.java:1103) at com.ibm.ws.Transaction.JTA.RegisteredResources.enlistResource(RegisteredResources.java:525) at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:3219) at com.ibm.ws.Transaction.JTA.TranManagerSet.enlist(TranManagerSet.java:396) at com.ibm.ejs.j2c.XATransactionWrapper.enlist(XATransactionWrapper.java:693) at com.ibm.ejs.j2c.ConnectionManager.lazyEnlist(ConnectionManager.java:1747) at com.ibm.ws.rsadapter.spi.WSRdbManagedConnectionImpl.lazyEnlist(WSRdbManagedConnectionImpl.java:2112) at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.beginTransactionIfNecessary(WSJdbcConnection.java:600) at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:2014) at com.ibm.ws.rsadapter.jdbc.WSJdbcConnection.prepareStatement(WSJdbcConnection.java:1969) at org.hibernate.jdbc.AbstractBatcher.getPreparedStatement(AbstractBatcher.java:497) at org.hibernate.jdbc.AbstractBatcher.prepareSelectStatement(AbstractBatcher.java:123) at org.hibernate.id.SequenceGenerator.generate(SequenceGenerator.java:73) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:98) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.saveWithGeneratedOrRequestedId(DefaultSaveOrUpdateEventListener.java:186) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.entityIsTransient(DefaultSaveOrUpdateEventListener.java:175) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.performSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:98) at org.hibernate.event.def.DefaultSaveOrUpdateEventListener.onSaveOrUpdate(DefaultSaveOrUpdateEventListener.java:70) at org.hibernate.impl.SessionImpl.fireSaveOrUpdate(SessionImpl.java:507) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:499) at org.hibernate.impl.SessionImpl.saveOrUpdate(SessionImpl.java:495) at org.springframework.orm.hibernate3.HibernateTemplate$16.doInHibernate(HibernateTemplate.java:684) at org.springframework.orm.hibernate3.HibernateTemplate.execute(HibernateTemplate.java:367) at org.springframework.orm.hibernate3.HibernateTemplate.saveOrUpdate(HibernateTemplate.java:681) at com.mangocity.pay.log.dao.PayLogDaoImpl.save(PayLogDaoImpl.java:16)
该错误是因为事务管理程序不能将事务转换为XA事务。Oracle 明确的返回错误 XAER_RMERR ,错误代码编号为 65535。
ORA-65535不是一个有效错误代码,并且 XAER_RMERR 实质上意味着 XA 发生了某些错误。这说明您的 Oracle 数据库没有被配置为支持 XA 事务。因此,当 WebSphere Application Server 事务管理程序命令 Oracle 事务管理程序参与这个 XA 事务时,Oracle 拒绝该命令并抛出这个异常。
解决方法是运行 Oracle 安装中包含的两个脚本。这很可能需要通过您的 Oracle DBA 来执行,您必须以 SYSOPER 或 SYSDBA 身份登录到 Oracle,以拥有足够的权限来运行这些脚本。这些脚本是:
directory: <ORACLE_HOME>\javavm\installfile: initxa.sqlfile: initjvm.sql
initxa.sql 脚本配置 XA 数据库。一旦它成功运行,您的数据库就被配置为 XA。该脚本在您第一次运行的时候可能成功。不幸的是,由于一些数据库的内存空间太小,该脚本也可能无法成功运行。为修改该问题,运行 initjvm.sql 脚本。它可能也会运行失败,但是在失败时,该脚本会说明哪个参数需要调整。参数被保存在该文件中:
directory: <ORACLE_HOME>\databasefile: init<DATABASE_SID>.ora
这个表说明了有两个参数的值特别需要增大。对于特定的数据库配置可能需要调整不同的参数。
Oracle Initialization Values
Parameter Name Minimum Value java_pool_size 12000000 shared_pool_size 24000000一旦 initjvm.sql 运行成功,则 initxa.sql 就应该也可以成功运行。Oracle 数据库需要重新启动,以使修改生效。您可以重新启动 WebSphere Studio 测试服务器并重新尝试运行该范例。
- 【转】Oracle XA JTA事务报错 不支持XA事务
- JTA (XA)事务和JDBC事务
- JDBC事务和JTA (XA)事务
- JDBC事务和JTA (XA)事务
- JDBC事务和JTA (XA)事务
- 【转】XA事务规范
- 【转】XA事务规范
- JDBC事务和JTA (XA)事务区别
- JDBC事务和JTA (XA)事务(转http://acme1921209.javaeye.com/blog/67691)
- tomee 创建 xa 数据源 并 支持 JTA 事务
- XA事务规范
- XA事务规范
- XA事务规范
- 了解 XA 事务
- 扯谈下XA事务
- 17 mysql XA事务
- 分布式 (XA)事务
- MySQL分布式XA事务
- bootstrap3中轮播图修改时间
- 微信分享遇到的坑
- linux下安装nginx步骤
- 项目笔记
- [老贴重发]EXT:指定树控件TreePanel 展开到第几层
- 【转】Oracle XA JTA事务报错 不支持XA事务
- 数据库建表的十四个技巧
- JSONKit在项目中使用设置(ARC与方法更新)
- 笔记7
- PL/SQL创建表序列
- weex更新方案探索(四)
- 欢迎使用CSDN-markdown编辑器
- Sql查询数据库时间戳与时间的相互转换
- 前端三级checkbox选择 / JS三级checkbox选择 / JS三级勾选