我试图找出特定 session (不是我自己的)在 oracle 服务器上的隔离级别。有没有 v$.. View 来获得这个?
最佳答案
您可以在 flag
中测试第 28 位栏目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$transaction
仅列出事件交易 [2] ;例如,您需要发出插入/更新/删除/合并,或使用“for update”[3] .
关于oracle - 如何查看任意 oracle session 使用的事务隔离级别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3663343/