ITPub博客

首页 > 数据库 > Oracle > oracle 查看分布式事物

oracle 查看分布式事物

原创 Oracle 作者:hurp_oracle 时间:2014-12-24 20:50:36 0 删除 编辑

Solving locking problems in a XA environment (文档 ID 1248848.1)
connect / as sysdba

set pagesize 1000
prompt +++ In memory transaction +++ 
select /*+ ORDERED */
'----------------------------------------'||'
Curent Time : '|| substr(to_char(sysdate,' HH24.MI.SS'),1,22) ||'
'||'TX start_time: '||t.KTCXBSTM||'
'||'FORMATID: '||g.K2GTIFMT ||'
'||'GTXID: '||g.K2GTITID_EXT ||'
'||'Branch: '||g.K2GTIBID ||'
Local_Tran_Id ='||substr(t.KXIDUSN||'.'||t.kXIDSLT||'.'||t.kXIDSQN,1,15)||'
'||'KTUXESTA='|| x.KTUXESTA ||'
'||'KTUXEDFL='|| x.KTUXECFL ||'
Lock_Info: ID1: ' || ((t.kXIDUSN*64*1024)+ t.kXIDSLT)
||' ID2: '|| t.kXIDSQN
XA_transaction_INFO 
from x$k2gte g, x$ktcxb t, x$ktuxe x
where g.K2GTDXCB =t.ktcxbxba and
x.KTUXEUSN = t.KXIDUSN(+) and
x.KTUXESLT = t.kXIDSLT(+) and
x.KTUXESQN =t.kXIDSQN(+);

prompt +++ Timed out, prepared XA transactions +++ 
select global_tran_fmt, global_foreign_id, branch_id,state, 
tran.local_tran_id 
from sys.pending_trans$ tran, sys.pending_sessions$ sess
where tran.local_tran_id = sess.local_tran_id
and tran.state = 'prepared'
and dbms_utility.is_bit_set(tran.session_vector, sess.session_id)=1;


How to identify a session started by a remote distributed transaction? (文档 ID 332326.1)

The following query can be used to identify the session started by a distributed transaction
select username, osuser, status, sid, serial#, machine, process, terminal, program 
from v$sessionwhere saddr in (select k2gtdses from sys.x$k2gte );


来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29446986/viewspace-1379029/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2014-01-17

  • 博文量
    152
  • 访问量
    647372