【问题标题】:How can you see what transaction isolation level an arbitrary oracle session is using如何查看任意 oracle 会话使用的事务隔离级别
【发布时间】:2010-09-07 22:56:57
【问题描述】:

我试图找出特定会话(不是我自己的)在 oracle 服务器上的隔离级别。是否有 v$.. 视图来获取此信息?

【问题讨论】:

    标签: oracle transactions oracle10g isolation-level


    【解决方案1】:

    您可以在v$transaction[1]flag 列中测试位28。

    SELECT s.sid, s.serial#,
      CASE BITAND(t.flag, POWER(2, 28))
        WHEN 0 THEN 'READ COMMITTED'
        ELSE 'SERIALIZABLE'
      END AS isolation_level
    FROM v$transaction t, v$session s
    WHERE t.addr = s.taddr
      AND s.sid = :sid
      AND s.serial# = :serial;
    

    请记住v$transaction 只列出活动交易[2];例如,您需要发出插入/更新/删除/合并,或使用“for update”[3]

    【讨论】:

      猜你喜欢
      • 2015-03-26
      • 2014-08-28
      • 1970-01-01
      • 2011-09-30
      • 2013-03-23
      • 1970-01-01
      • 2015-07-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多