代码之家  ›  专栏  ›  技术社区  ›  kon5ad

如何查看任意Oracle会话使用的事务隔离级别

  •  8
  • kon5ad  · 技术社区  · 15 年前

    我正在尝试找出Oracle服务器上特定会话(而不是我自己的会话)的隔离级别。有V$吗?想得到这个吗?

    1 回复  |  直到 15 年前
        1
  •  7
  •   Danilo Piazzalunga    15 年前

    你可以测试28位 flag v$transaction [1] .

    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$交易 仅列出活动事务 [2] ;例如,您需要发出插入/更新/删除/合并,或者使用“for update” [3] .