Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Jak sprawdzić, z jakiego poziomu izolacji transakcji korzysta dowolna sesja Oracle?

Możesz przetestować bit 28 w flag kolumna w 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;

Pamiętaj tylko, że v$transaction zawiera tylko listę aktywnych transakcji [2] ; na przykład musisz wydać insert/update/delete/merge lub użyć "do aktualizacji" [3] .




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Jak wykonać procedurę składowaną w innej sesji w tym samym czasie w pl/sql

  2. Uzyskanie sumy kilku kolumn z dwóch tabel

  3. Dlaczego ta zbiorcza aktualizacja szablonu hibernacji nie działa

  4. Zmień tytuł strony na podstawie pozycji w Oracle APEX 4.0

  5. Czy w Oracle istnieje funkcja, która oblicza różnicę między dwiema datami?