2

如何检查我的 oracle DB 中设置的 IL。我该如何改变它?提前谢谢了。

4

1 回答 1

1

设置隔离级别

对于只读事务隔离级别

隔离级别可以设置为事务级别:

SET TRANSACTION ISOLATION LEVEL READONLY;

对于会话级别:

ALTER SESSION SET ISOLATION_LEVEL READONLY;

对于Serializable Transaction 隔离级别

交易级别:

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

会话级别:

ALTER SESSION SET ISOLATION_LEVEL SERIALIZABLE;

对于已提交读事务 隔离级别

交易级别:

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

会话级别:

ALTER SESSION SET ISOLATION_LEVEL READ COMMITTED;  

要查找隔离级别:

交易进行时:

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

交易未进行时

declare 
   trans_id Varchar2(100);
begin
   trans_id := dbms_transaction.local_transaction_id( TRUE );
end;
于 2013-05-29T10:52:49.057 回答