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;

Read Committed Transaction 分離レベルの場合

取引レベル:

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 に答える