답변:
Vincent Malgrat가 참조 한 SO 답변의 쿼리를 사용하여 진행중인 트랜잭션의 트랜잭션 격리 수준을 얻는 방법은 다음과 같습니다.
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;
/
이것보다 쉬운 방법이있는 것 같습니다. 원하는 것이 세션의 기본 격리 수준을 얻는 방법을 모르겠습니다.