17,126
社区成员
前置条件:Oracle数据库XA事务
A用户下存在a、b两张表
B用户拥有对A用户下操作b的权限
有以下两个服务,T1、T2
T1服务使用A数据源操作表a,开启XA事务
T2服务使用B数据源操作表b,开启XA事务
进度:
客户这边报错,但是我不能复现这个问题,请问大家知道什么样的情况下会出现这个问题吗,感觉网上的资料也好少,急急急急,求求哪位大佬点播以下,送花花
报错日志:
oracle.jdbc.xa.OracleXAException: XAErr (-3): A resource manager error has occured in the transaction branch. ORA-24774 SQLErr (0)
at oracle.jdbc.xa.OracleXAResource.checkError(OracleXAResource.java:1114)
Caused by: java.sql.SQLException: ORA-24774: 无法切换至指定的事务处理
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:509)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:456)
at oracle.jdbc.driver.T4CTTIoer11.processError(T4CTTIoer11.java:451)
at oracle.jdbc.driver.T4CTTIfun.processError(T4CTTIfun.java:1040)
at oracle.jdbc.driver.T4CTTIfun.receive(T4CTTIfun.java:550)
at oracle.jdbc.driver.T4CTTIfun.doRPC(T4CTTIfun.java:268)
at oracle.jdbc.driver.T4CTTIOtxen.doOTXEN(T4CTTIOtxen.java:171)
at oracle.jdbc.driver.T4CXAResource.doTransaction(T4CXAResource.java:820)
at oracle.jdbc.driver.T4CXAResource.doCommit(T4CXAResource.java:457)
at oracle.jdbc.xa.client.OracleXAResource.commit(OracleXAResource.java:626)
... 18 common frames omitted
Oracle查阅错误代码:(不知道怎么复现这个问题)
ORA-24774: cannot switch to specified transaction
Cause: The transaction specified in the call refers to a transaction created by a different user.
Action: Create transactions with the same authentication so that they can be switched.