Oracle如何查看事务隔离级别___2020-11-10

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')

你可能感兴趣的:(#,事务,#,隔离级别,#,oracle,oracle)