【问题】:
ORA-02049: 超时: 分布式事务处理等待锁。
【问题思路】:
(1)首先我在数据库中刚查过数据(印刷流水号),sql为:select visaserialno, businessno,visacode, visaname, usercode, visastatus, comcode from vsmark
where visacode like 'DAC051A32007A(山东)' and usercode='02110003' for update;
(2)然后在核心系统中输入查询的印刷流水号visaserialno,在核心系统中调用接口出现 ORA-02049: 超时: 分布式事务处理等待锁 的错误。
(3)我怀疑是因为上述sql只for update而没有提交事务(commit),数据库事务你没有commit或者rollback导致事务不能统一提交。导致把错误回传给客户端让其处理。因为核心系统用的数据库和我更改的数据库是一致的。
(4)然后我把本地数据库commit,再在核心系统中调用接口。成功。