更准确地说,让我们考虑在 DBA_2PC_PENDING 视图中出现一些不确定事务的情况。
我有这些事务的本地和全局编号,但想知道我们是否能够获得有关它们内部正在处理什么 SQL 或完成了什么的信息。我用谷歌搜索了这个主题,但没有发现任何真正有用的东西。
我试图在 中找到有关它们的任何信息v$transaction
,但遇到了失败。此查询不返回以下列的任何内容v$transaction
:
SELECT * FROM dba_2pc_pending p, v$transaction t
WHERE
substr(p.local_tran_id, 1, instr(p.local_tran_id, '.', 1, 1) - 1) = t.xidusn(+)
and substr(p.local_tran_id, instr(p.local_tran_id, '.', 1, 1) + 1, instr(p.local_tran_id, '.', 1, 2) - instr(p.local_tran_id, '.', 1, 1) - 1) = t.xidslot(+)
and substr(p.local_tran_id, instr(p.local_tran_id, '.', 1, 2) + 1) = t.xidsqn(+);
本地事务id解析正确,我查了三遍。