websphere 一个日常小问题的处理

说是说一个小问题不过这个问题特别影响心情,今天十在是受不了老狠下心来搞定它

 

问题很简单就是关于websphere 下面的这个提示

[09-5-21 15:28:35:874 CST] 00000013 InternalOracl I   DSRA8203I: Database 产品名:Oracle
[09-5-21 15:28:35:877 CST] 00000013 InternalOracl I   DSRA8204I: Database 产品版本:Oracle9i Enterprise Edition Release 9.2.0.7.0 - 64bit Production
With the Partitioning, Real Application Clusters, OLAP and Oracle Data Mining options
JServer Release 9.2.0.7.0 - Production
[09-5-21 15:28:35:879 CST] 00000013 InternalOracl I   DSRA8205I: JDBC driver 名:Oracle JDBC driver
[09-5-21 15:28:35:881 CST] 00000013 InternalOracl I   DSRA8206I: JDBC driver 版本:10.2.0.4.0
[09-5-21 15:28:35:882 CST] 00000013 InternalOracl I   DSRA8212I: DataStoreHelper 名称为:com.ibm.websphere.rsadapter.Oracle10gDataStoreHelper@19b8e57
。
[09-5-21 15:28:35:897 CST] 00000013 WSRdbXaResour E   DSRA0304E: 发生 XAException。XAException 内容和详细信息是:The cause is               : null。
[09-5-21 15:28:35:899 CST] 00000013 WSRdbXaResour E   DSRA0302E: 发生 XAException。错误代码为:XAER_RMERR (-3)。异常为:<null>
[09-5-21 15:28:35:901 CST] 00000013 XARminst      E   WTRN0037W: xa_recover 操作时事务服务遇到错误。资源是 com.ibm.ws.rsadapter.spi.WSRdbXaResourceImp
l@19df39a。错误代码为 XAER_RMERR。异常堆栈跟踪遵循:javax.transaction.xa.XAException
        at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:705)
        at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java:964)
        at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java:138)
        at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java:687)
        at com.ibm.ws.Transaction.JTA.PartnerLogTable.recover(PartnerLogTable.java:524)
        at com.ibm.ws.Transaction.JTA.RecoveryManager.resync(RecoveryManager.java:1859)
        at com.ibm.ws.Transaction.JTA.RecoveryManager.run(RecoveryManager.java:2580)
        at java.lang.Thread.run(Thread.java:595)

 

这个提示它不影响开发但它以每2秒的速度持续在控制台打印,这对于我们开发来讲就是灾难!为了它没少受气........

 

今天终于搞定了,十在是开心!解决办法如下

 

原因是:was配置的连接oracle的用户没有恢复权限。建议给连接用户配上恢复权限。

 

一般可以:

在sqlplus下,以sysoper或者sysdba运行:

【grant select on DBA_PENDING_TRANSACTIONS to PUBLIC】

或者指定特定的用户:

【grant select on DBA_PENDING_TRANSACTIONS to your_connect_user】

也可以通过修改tranlog目录的名称,来阻止was去请求oracle进行xa的事务恢复。

 

注意:赋权时,需要以system或者sys登陆,并且用sysdba身份。

你可能感兴趣的:(java,oracle,jdbc,IBM,websphere)