How do I check what IL is being set in my oracle DB. How do I change it? Many thanks in advance.
Asked
Active
Viewed 5,168 times
3
-
1try 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
-
1or this: http://www.ehow.com/how_12227289_check-current-isolation-level-oracle.html – Mr Smith May 22 '12 at 22:53
1 Answers
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