我试图找出特定会话(不是我自己的)在 oracle 服务器上的隔离级别。是否有 av$.. 视图来获得这个?
问问题
10439 次
1 回答
8
您可以在[1]flag
的列中测试第 28 位。v$transaction
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]。
于 2011-01-15T16:53:13.950 回答