Oracle如何查看事务隔离级别。
原因:整理一下网上抄了好几年的博客都没有给出正解的一片正解。
1.Oracle如果需要查看事务隔离级别,需要先进入事务。
2.进入事务。新建一个表,叫test,之后 SELECT * FROM test for update; 进入事务。
3.查询v$transaction 以及v$session 根据 BITAND(t.flag, POWER(2, 28)) 得出事务隔离级别。(0:read committed,else 串行,oracle只有这两种)
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
JOIN v$session s ON t.addr = s.taddr AND s.sid = sys_context('USERENV', 'SID')