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

Użyj gv$session, aby sprawdzić, czy zapytanie się zawiesza

W gv$session , event Kolumna informuje, na jakie zdarzenie czeka Twoja sesja. Jeśli twoja sesja czeka na jakąś blokadę utrzymywaną przez inną sesję, event powie Ci, że (na przykład będzie to "enq:TX - row lock rywalizacja" jeśli jesteś w kolejce czekając na zablokowanie wiersza przechowywanego przez inną sesję) i blocking_instance i blocking_session zostanie wypełniony instancją i identyfikatorem sesji posiadacza blokady. Możesz też spojrzeć na seconds_in_wait (jeśli wait_time=0 ), aby określić, ile sekund sesja spędziła w bieżącym zdarzeniu oczekiwania. Powinno to przynajmniej powiedzieć, czy Twoja sesja jest obecnie „zablokowana”, ale nie mówi, czy Twoje zapytanie naprawdę się zakończy — jeśli jest zły plan, jest całkowicie możliwe, że masz „dobry” zdarzenia wait, takie jak wait for disk I/O, które wskazują, że sesja coś robi, ale zapytanie tak naprawdę nigdy się nie zakończy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Różnica między Oracle IN a Exists?

  2. Jak zainstalować Universal Oracle Installer na Ubuntu?

  3. potrzebujesz pomocy w optymalizacji zapytania Oracle

  4. Wywołaj funkcję z biblioteki DLL (c#) w Oracle Forms

  5. Używaj TOP lub Rank, gdy znajdujesz kilka pierwszych lub najwięcej obserwacji