我试图找出特定会话(不是我自己)在oracle服务器上的隔离级别.是否有v $..视图来获取此信息?
您可以在v $transaction
[1]的标志列中测试位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];例如,您需要发出插入/更新/删除/合并,或使用“更新”[3].