oliver

          不支持XA事務

          [12/13/07 10:09:05:171 CST] 000002d6 RegisteredRes E   WTRN0078E: An attempt by the transaction manager to call

          start on a transactional resource has resulted in an error. The error code was XAER_RMERR. The exception stack trace

          follows: 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 發(fā)生了某些錯誤。這說明您的 Oracle 數(shù)據(jù)庫沒有被配置為支持 XA 事

          務。因此,當 WebSphere Application Server 事務管理程序命令 Oracle 事務管理程序參與這個 XA 事務時,Oracle 拒絕該命令

          并拋出這個異常。解決方法是運行 Oracle 安裝中包含的兩個腳本。這很可能需要通過您的 Oracle DBA 來執(zhí)行,您必須以 SYSOPER

          或 SYSDBA 身份登錄到 Oracle,以擁有足夠的權限來運行這些腳本。這些腳本是:directory: <ORACLE_HOME>\javavm\install、

          file: initxa.sql、file: initjvm.sql、initxa.sql 腳本配置 XA 數(shù)據(jù)庫。一旦它成功運行,您的數(shù)據(jù)庫就被配置為 XA。該腳本

          在您第一次運行的時候可能成功。不幸的是由于一些數(shù)據(jù)庫的內存空間太小,該腳本也可能無法成功運行。為修改該問題,運行

          initjvm.sql 腳本。它可能也會運行失敗,但是在失敗時,該腳本會說明哪個參數(shù)需要調整。參數(shù)被保存在該文件中:directory:

          <ORACLE_HOME>\database,file: init<DATABASE_SID>.ora,這個表說明了有兩個參數(shù)的值特別需要增大。對于特定的數(shù)據(jù)庫配置可

          能需要調整不同的參數(shù)。
          Oracle Initialization Values
          Parameter Name  Minimum Value 
          java_pool_size  12000000 
          shared_pool_size  24000000 
          一旦 initjvm.sql 運行成功,則 initxa.sql 就應該也可以成功運行。Oracle 數(shù)據(jù)庫需要重新啟動,以使修改生效。您可以重新啟

          動 WebSphere Studio 測試服務器并重新嘗試運行該范例。

          posted on 2008-06-27 16:37 oliver.kang 閱讀(1427) 評論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫


          只有注冊用戶登錄后才能發(fā)表評論。


          網(wǎng)站導航:
           
          主站蜘蛛池模板: 大邑县| 陕西省| 遵义市| 叶城县| 永福县| 仙居县| 南澳县| 霍林郭勒市| 潞城市| 岳阳县| 特克斯县| 寻乌县| 资中县| 临沧市| 永胜县| 济源市| 丽水市| 丰城市| 兴城市| 高清| 东兰县| 米易县| 宁安市| 崇文区| 黄梅县| 敖汉旗| 汕尾市| 抚宁县| 铜鼓县| 定州市| 蒙阴县| 得荣县| 凉山| 安义县| 简阳市| 聂荣县| 山西省| 平潭县| 辉县市| 南充市| 九龙坡区|