例如,我在ORACLE一个事务里面做了如下操作:
update a set a1=12312;
update b set b1=12311;
insert into c(a1,b1)values(1111,2222);
commit;
请问如何在ORACLE数据库中跟踪到这部分语句。
即 两个update和一个insert

解决方案 »

  1.   

    我知道在v$sql里,可以查到这部分语句。但是怎么区分这是一个事务呢?
      

  2.   

    我知道在v$sql里,可以查到这部分语句。但是怎么区分这是一个事务呢?
      

  3.   

    http://topic.csdn.net/u/20090227/16/3251855a-8412-4c04-a8f1-d1cb256b8f1b.html
    这里看看,相信对你会有帮助的.
      

  4.   


    要查这个原因,那就要查重做日志文件,每次发生更新产生一个系统检查点(SCN)号,由SCN号可以区分哪个事务
      

  5.   

    SQL> ed
    Wrote file afiedt.buf  1   select xid, start_scn, commit_scn, row_id, operation
      2        from flashback_transaction_query               
      3    where table_name = 'TEST'                          
      4*    and table_owner = 'HR'                  
    SQL> /XID               START_SCN COMMIT_SCN ROW_ID              OPERATION
    ---------------- ---------- ---------- ------------------- ----------
    02002300DD010000    1121386    1123054 AAAM0hAAEAAAAGGAAB  INSERT
    02002300DD010000    1121386    1123054 AAAM0hAAEAAAAGGAAA  INSERT
    03002600DB010000          0    1121505 AAAM0hAAEAAAAGFAAA  DELETE
    08001300D3010000    1115143    1121403 AAAM0hAAEAAAAGFAAA  INSERT
    同一个XID就代表是同一个事务