select * from v$transaction 现在查到了数据库中有没有提交的事务 但是我不确定是操作哪张表而没有提交事务 
请问我根据这个 
ADDR XIDUSN XIDSLOT XIDSQN UBAFIL UBABLK UBASQN UBAREC STATUS START_TIME 
67B92964 2 21 4216 2 2580 389 13 ACTIVE 2011-5-8 12:35 START_SCNB START_SCNW START_UEXT START_UBAFIL START_UBABLK START_UBASQN START_UBAREC 
4628170 0 4 2 2580 389 13 请问根据这个消息怎么确定是哪张表没有提交事务 怎么处理这个事务

解决方案 »

  1.   


    --试看一下:select * from v$session_wait;
      

  2.   

    select d.OBJECT_NAME from v$session a,v$transaction b,v$locked_object c,dba_objects d 
     where a.SADDR = b.SES_ADDR and c.SESSION_ID = a.SID and c.OBJECT_ID = d.OBJECT_ID;
      

  3.   

    select d.OBJECT_NAME 
      from v$session a,v$transaction b,v$locked_object c,dba_objects d 
     where a.SADDR = b.SES_ADDR and c.SESSION_ID = a.SID and c.OBJECT_ID = d.OBJECT_ID;
      

  4.   

    select d.OBJECT_NAME
      from v$session             a,
           v$transaction_enqueue b,
           v$locked_object       c,
           dba_objects           d
     where a.sid = b.sid
       and c.SESSION_ID = a.SID
       and c.OBJECT_ID = d.OBJECT_ID;
      

  5.   


    select c.OBJECT_NAME
      from v$transaction_enqueue a, v$locked_object b, dba_objects c
     where b.SESSION_ID = a.SID
       and b.OBJECT_ID = c.OBJECT_ID;这个更简单些