3

How do I check what IL is being set in my oracle DB. How do I change it? Many thanks in advance.

groovydallas
  • 31
  • 1
  • 3
  • 1
    try this:http://stackoverflow.com/questions/3663343/how-can-you-see-what-transaction-isolation-level-an-arbitrary-oracle-session-is – Mr Smith May 22 '12 at 22:51
  • 1
    or this: http://www.ehow.com/how_12227289_check-current-isolation-level-oracle.html – Mr Smith May 22 '12 at 22:53

1 Answers1

2

To Set Isolation Level

For Read only Transaction isolation level

Isolation Levels can be set as For Transaction level:

SET TRANSACTION ISOLATION LEVEL READONLY;

For Session level:

ALTER SESSION SET ISOLATION_LEVEL READONLY;

For Serializable Transaction isolation level

Transaction level:

SET TRANSACTION ISOLATION LEVEL SERIALIZABLE;

Session level:

ALTER SESSION SET ISOLATION_LEVEL SERIALIZABLE;

For Read Committed Transaction isolation level

Transaction Level:

SET TRANSACTION ISOLATION LEVEL READ COMMITTED;

Session Level:

ALTER SESSION SET ISOLATION_LEVEL READ COMMITTED;  

To find the Isolation Level:

When Transaction is in Progress:

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

When the transaction is not in process

declare 
   trans_id Varchar2(100);
begin
   trans_id := dbms_transaction.local_transaction_id( TRUE );
end;
SenthilPrabhu
  • 661
  • 6
  • 29