在第一次运行范例时,您可能会得到以下错误:

WSRdbDataSour I DSRA8203I:

Database product name : Oracle

WSRdbDataSour I DSRA8204I: Database product version :

Personal Oracle9i Release 9.2.0.1.0 - Production

With the Partitioning, OLAP and Oracle Data Mining options

JServer Release 9.2.0.1.0 - Production

WSRdbDataSour I DSRA8205I: JDBC driver name  : Oracle JDBC driver

WSRdbDataSour I DSRA8206I: JDBC driver version  : 9.2.0.1.0

WSRdbXaResour E DSRA0304E:

XAException occurred. XAException contents and details are:

The XA Error is            : -3

The XA Error message is    : A resource manager error has occurred in the transaction branch.

The Oracle Error code is   :

65535

The Oracle Error message is:

Internal XA Error

The cause is               : null.

WSRdbXaResour E DSRA0302E: XAException occurred.  Error code is:

XAER_RMERR.

Exception is:

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:1157)

at oracle.jdbc.xa.client.OracleXAResource.start(OracleXAResource.java:295)

at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.start(WSRdbXaResourceImpl.java:927)

at com.ibm.ejs.j2c.XATransactionWrapper.start(XATransactionWrapper.java:1267)

at com.ibm.ws.Transaction.JTA.JTAResourceBase.start(JTAResourceBase.java:164)

at com.ibm.ws.Transaction.JTA.RegisteredResources.startRes(RegisteredResources.java:389)

at com.ibm.ws.Transaction.JTA.TransactionImpl.enlistResource(TransactionImpl.java:1903)

at com.ibm.ws.Transaction.JTA.TranManagerSet.enlist(TranManagerSet.java:494)

. . .

该错误是因为事务管理程序不能将事务转换为 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:

\javavm\install

file:

initxa.sql

file:

initjvm.sql

initxa.sql 脚本配置 XA 数据库。一旦它成功运行,您的数据库就被配置为 XA。该脚本在您第一次运行的时候可能成功。不幸的是,由于一些数据库的内存空间太小,该脚本也可能无法成功运行。为修改该问题,运行

initjvm.sql 脚本。它可能也会运行失败,但是在失败时,该脚本会说明哪个参数需要调整。参数被保存在该文件中:

directory:

\database

file:

init.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

事务的应用程序并正常运行该程序。但是可能有一天您会发现无法启动 WebSphere Application

Server。该问题的发生可能是由于您没有正常的关闭服务器,导致 WebSphere 和/或 Oracle 崩溃。WebSphere

的启动错误类似于以下所示:

SecurityCompo I SECJ0243I: Security service started successfully

SecurityCompo I SECJ0210I: Security enabled false

WSRdbXaResour E DSRA0304E:

XAException occurred.

XAException contents and details are: The cause is               : null.

36185510 WSRdbXaResour E DSRA0302E:  XAException occurred.

Error code is:

XAER_RMERR.  Exception is:

XARminst      E WTRN0037W:

The transaction service encountered an error

on an xa_recover operation. The resource was J2CXAResourceInfo :

cfName = XA Example Data Source

configProps = [Deployed Resource Adapter Properties]

OptionC_authDataAlias      java.lang.String             scott

UserName            java.lang.String

scott

Password             java.lang.String             ********

TransactionResourceRegistration  java.lang.String             dynamic

InactiveConnectionSupport            java.lang.Boolean         true

secureMode         boolean            true

. . .

The error code was XAER_RMERR. The exception stack trace follows:

javax.transaction.xa.XAException

at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:626)

at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:672)

at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:130)

at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:673)

at com.ibm.ws.Transaction.JTA.RecoveryManager.resync(RecoveryManager.java:1369)

at com.ibm.ws.Transaction.JTA.ResyncThread.run(RecoveryManager.java:1440)

ApplicationMg A WSVR0200I: Starting application: IBMUTC

该错误是由于事务管理程序无法执行 XA 恢复操作。Oracle 明确的返回错误 XAER_RMERR。作为最后一个错误,

XAER_RMERR

指出了 XA 发生了一些问题。这表明 WebSphere 没有使用 Oracle

正常的关闭连接,可能是由于其中一个服务器没有正常关闭,或者是全都没有正常关闭。因为 WebSphere Application Server

试图重新建立连接,则 Oracle 需要回滚进程中的任何事务,但是使用 WebSphere 登录到数据库的 Oracle 用户(在本范例中是 scott )不能执行恢复工作。

解决方法是为 Oracle 用户赋予权限以执行恢复操作,特别是访问内部使用的 Oracle 表以管理恢复。在 SQL Plus 中以

SYSOPER 或

SYSDBA 身份运行下列命令:

grant select on DBA_PENDING_TRANSACTIONS to PUBLIC

如果您不希望将该权限授予所有的用户,可以仅指定错误中列出的用户(在本范例中是 scott)。然后重新启动数据库,这一次您应该能够成功的重启 WebSphere 服务器。

posted on 2007-02-04 12:23 jncz 阅读(2540) 评论(0)  编辑  收藏

oracle enlisttransaction,WAS运行时抛出的两种异常,经过google找到解决方案,记录以备案...相关推荐

  1. Android ADT插件更新后程序运行时抛出java.lang.VerifyError异常解决办法

    当我把Eclipse中的 Android ADT插件从21.1.0更新到22.0.1之后,安装后运行程序抛出java.lang.VerifyError异常. 经过调查,终于找到了一个有效的解决办法: ...

  2. 解决oracle数据库的表中存在异常日期值在查询时抛出ora-01841错误的办法

    生产环境的服务器上,在查询时抛出SQLDataException,错误代码为ora-01841 ORA-01841: (完整) 年份值必须介于 -4713 和 +9999 之间, 且不为 0 经排查是 ...

  3. AES加密时抛出java.security.InvalidKeyException:#160;Illegal#160;key#160;size#160;or#160;def...

    原文:AES加密时抛出java.security.InvalidKeyException: Illegal key size or def 使用AES加密时,当密钥大于128时,代码会抛出 java. ...

  4. 错误记录一:线程通信时抛出Exception in thread “Thread-0” java.lang.IllegalMonitorStateException异常

    错误记录一:线程通信时抛出Exception in thread "Thread-0" java.lang.IllegalMonitorStateException异常 完整异常: ...

  5. java sleep 抛出异常_PowerMockito模拟Thread.sleep()时抛出中断异常的场景

    点击蓝色字免费订阅,每天收到这样的好信息 前言:最近有不少粉丝关注本公众号.并且我已经成功开通了流量主同时会赚一点点广告费,我打算每个月把这部分钱拿出来给大家买点书刊,算是给大家一点福利吧.大家想买什 ...

  6. linux的android工作室,Android工作室在启动时抛出错误,linux机器

    我只是将我的Android Studio从1.5升级到2.3,我只是解压缩文件夹并复制到下载文件夹中,现在当我启动android studio时,我收到了此消息:Android工作室在启动时抛出错误, ...

  7. PHP 安装 扩展时 抛出 /usr/local/Cellar/php@7.1/7.1.25/pecl 异常解决

    PHP 安装 扩展时 抛出 /usr/local/Cellar/php@7.1/7.1.25/pecl 异常解决 参考文章: (1)PHP 安装 扩展时 抛出 /usr/local/Cellar/ph ...

  8. android 数组指针异常,Android JSON解析Json数组是[]在解析时抛出空指针异常,如何以正确的方式写入?...

    我有复杂的API,我解析并显示在列表视图中,我将努力解析JSONArray.Here我将在斗争之后Json数组这是在帖子json对象"tags_name":["Activ ...

  9. oracle布尔true 1,将.NET布尔数据类型映射到实体框架中的oracle数(1,0)会抛出错误

    将.NET布尔数据类型映射到.edmx文件中的oracle号(1,0)会抛出以下错误. Error 2019: Member Mapping specified is not valid. The t ...

最新文章

  1. 预测性智能的力量:AI 和机器学习将如何改变美国政府决策?
  2. 1.arm的linux系统搭建
  3. Qt入门——三个臭皮匠顶个诸葛亮
  4. 【图专题】三篇图神经网络中的图核函数:主要学习图的拓扑结构从而解决图分类问题...
  5. VTK:PolyData之PointCellIds
  6. idea maven插件tomcat内存溢出
  7. Jmeter如何进行http接口测试
  8. dell计算机一直重启,为什么电脑老重启
  9. 微信小程序查询数据库
  10. c# 将dwg文件转化为pdf
  11. web数字可视化有哪些实现的方法?
  12. java实现易宝支付
  13. 解封ChatGPT我只用了一句话
  14. 有了天猫精灵智能套组,享受管家级别智能服务
  15. 如何获取PDF修改权限并编辑文档?
  16. word文档加密经验实战分享
  17. 从循环神经网络到卷积神经网络
  18. 【公务员考试】结构化面试时间一般多长?
  19. 解决WindTerm屏幕锁定
  20. Neoverse Roadmap

热门文章

  1. leaked window产生的原因及解决方案
  2. Microsoft MSN Messenger 7.0.0205 Beta Leaked
  3. pip 安装 nexmo
  4. 过滤百度广告+搜索热点+adblock规则快速入门
  5. 安装Ubuntu的几十次坑的经验
  6. python2.7 BeautifulSoup 爬QQ空间说说-含源码-第一天
  7. Boost.auto_ptr的实现源码
  8. 浮躁和傲慢,这样的人比比皆是
  9. BZOJ 4316: 小C的独立集 仙人掌 + 树形DP
  10. contour 函数详解