FileNet添加和删除文件错误 An error occurred accessing the database

这两天在客户测试环境的FileNet Server遇到错误,不管是调用CE Web Service API的方式还是FileNet Workplace,上传或删除文件都失败,出现了Exception,显示的错误信息是

An error occurred accessing the database.  ErrorCode: 0, Message: ‘enlist: caught Exception’

看错误信息,可能是oracle数据库有什么问题,可是查了很久没查出错误所在。

后来在WebSphere Server的SystemOut.log中看到具体错误信息如下:

WTRN0037W: The transaction service encountered an error on an xa_recover operation. The resource was com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl@57562412. The error code was XAER_RMERR. The exception stack trace follows: javax.transaction.xa.XAException
at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java(Compiled Code))
at com.ibm.ws.rsadapter.spi.WSRdbXaResourceImpl.recover(WSRdbXaResourceImpl.java(Compiled Code))
at com.ibm.ws.Transaction.JTA.XARminst.recover(XARminst.java(Compiled Code))
at com.ibm.ws.Transaction.JTA.XARecoveryData.recover(XARecoveryData.java(Compiled Code))
at com.ibm.ws.Transaction.JTA.PartnerLogTable.recover(PartnerLogTable.java(Compiled Code))
at com.ibm.ws.Transaction.JTA.RecoveryManager.resync(RecoveryManager.java:1896)
at com.ibm.ws.Transaction.JTA.RecoveryManager.run(RecoveryManager.java:2608)
at java.lang.Thread.run(Thread.java:571)

有了具体的错误日志后,Google后在IBM的网站上查到原因和解决方案

https://www-304.ibm.com/support/docview.wss?uid=swg21196663

它说原因是Oracle做什么recover操作的时候没权限。

第一种解决方案试了下,给用户加权限,但是我们试了,不知道是什么原因,错误依旧。

所以继续试第二种方案。

1. 停掉WebSphere Application Server

2. 找到 ‘\transaction‘目录,位于<WebSphere Application Server_install_root>\profiles\<PROFILE_NAME>\tranlog\<CELL_NAME>\<NODE_NAME>\<SERVER_NAME>\transaction

3. 删掉 ‘\transaction‘目录及其子目录

4. 重启WebSphere Application Server

然后错误就没了。

 

原创文章,转载请注明: 转载自闲云博客

本文链接地址: FileNet添加和删除文件错误 An error occurred accessing the database

发表评论

电子邮件地址不会被公开。 必填项已用*标注