sql >> Database teknologi >  >> RDS >> Oracle

Hvordan kan du se, hvilket transaktionsisoleringsniveau en vilkårlig oracle-session bruger

Du kan teste bit 28 i flag kolonne i v$transaction [1] .

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, v$session s
WHERE t.addr = s.taddr
  AND s.sid = :sid
  AND s.serial# = :serial;

Bare husk at v$transaction viser kun aktive transaktioner [2] ; for eksempel skal du udstede en insert/update/delete/merge, eller bruge "for update"[3] .




  1. Hvornår skal jeg lukke mysqli (database) forbindelse?

  2. Forespørgsel returnerer kun ingen resultater, når ORDER BY tilføjet

  3. Oracle SQL:Filtrering efter ROWNUM returnerer ikke resultater, når det skal

  4. Databaseindsættelsesmekanisme