Comment obtenir le niveau d'isolement de transaction actuel (par défaut) dans Oracle?
Utilisation de la requête du SO Réponse Vincent Malgrat référencé, voici la manière dont vous pouvez obtenir le niveau d'isolement des transactions pour la transaction en cours:
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');
Si vous n'êtes pas déjà dans une transaction, vous pouvez en commencer une avec les éléments suivants:
declare
trans_id Varchar2(100);
begin
trans_id := dbms_transaction.local_transaction_id( TRUE );
end;
/
On dirait qu'il y aurait un moyen plus facile que cela. Je ne sais pas comment obtenir le niveau d'isolement par défaut pour la session si c'est ce que vous recherchez.