3

在我的应用程序中使用 oracle 作为数据库时出现以下异常。警告是随机发生的,即使在服务器启动时也是如此。如果数据库是空的,当它出现时,会出现此警告,并且某些表的 db 生成失败。

我不知道这里发生了什么。

提前致谢

4:27:47,263 WARN  [com.arjuna.ats.jta] (Periodic Recovery) ARJUNA016027: Local XARecoveryModule.xaRecovery got XA exception XAException.XAER_RMERR: javax.transaction.xa.XAException 
at oracle.jdbc.xa.OracleXAResource.recover(OracleXAResource.java:709) 
at org.jboss.jca.adapters.jdbc.xa.XAManagedConnection.recover(XAManagedConnection.java:358)     
at org.jboss.jca.core.tx.jbossts.XAResourceWrapperImpl.recover(XAResourceWrapperImpl.java:162)  
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.xaRecovery(XARecoveryModule.java:503) [jbossjts-4.16.2.Final.jar:] 
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.resourceInitiatedRecoveryForRecoveryHelpers(XARecoveryModule.java:471) [jbossjts-4.16.2.Final.jar:] 
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.bottomUpRecovery(XARecoveryModule.java:385) [jbossjts-4.16.2.Final.jar:] 
at com.arjuna.ats.internal.jta.recovery.arjunacore.XARecoveryModule.periodicWorkSecondPass(XARecoveryModule.java:166) [jbossjts-4.16.2.Final.jar:]  
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.doWorkInternal(PeriodicRecovery.java:789) [jbossjts-4.16.2.Final.jar:]  
at com.arjuna.ats.internal.arjuna.recovery.PeriodicRecovery.run(PeriodicRecovery.java:371) [jbossjts-4.16.2.Final.jar:]
4

2 回答 2

4

我找到了解决这个问题的方法。

基于这个线程,我以管理员身份完成了以下操作:

GRANT SELECT ON sys.dba_pending_transactions TO carlos;
GRANT SELECT ON sys.pending_trans$ TO carlos;
GRANT SELECT ON sys.dba_2pc_pending TO carlos;
GRANT EXECUTE ON sys.dbms_system TO carlos;  

警告消失了,但我不知道这样做的后果是什么。

于 2013-02-01T19:02:27.260 回答
3

有关与 sys.dbms_system 上的执行权限相关的安全问题,请参阅http://database-diva.com/blog/?p=6

于 2013-02-03T02:35:53.357 回答