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 發生了某些錯誤。這說明您的 Oracle 數據庫沒有被配置為支持 XA 事

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

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

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

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

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

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

          <ORACLE_HOME>\database,file: 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 測試服務器并重新嘗試運行該范例。

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


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


          網站導航:
           
          主站蜘蛛池模板: 保德县| 镇安县| 静安区| 江川县| 白山市| 惠安县| 华亭县| 托里县| 巴中市| 广水市| 海兴县| 阳朔县| 门头沟区| 高密市| 凤庆县| 玉树县| 泸州市| 石林| 土默特左旗| 县级市| 句容市| 白山市| 油尖旺区| 镶黄旗| 当涂县| 大名县| 阿克苏市| 镇康县| 海安县| 中西区| 桂林市| 泰兴市| 黑水县| 盘山县| 西乌| 齐河县| 镇沅| 乾安县| 芦溪县| 彭阳县| 方山县|