Oracle
 sql >> база данни >  >> RDS >> Oracle

Използвайте gv$session, за да разберете дали дадена заявка виси

В gv$session , event колона ви казва какво събитие на изчакване очаква вашата сесия в момента. Ако сесията ви чака някакъв вид заключване, задържано от друга сесия, event ще ви каже това (например ще бъде "enq:TX - конкуренция за заключване на ред", ако сте в опашка и чакате да заключите ред, задържан от друга сесия) и blocking_instance и blocking_session ще бъде попълнен с екземпляра и ID на сесията на притежателя на ключалката. Можете също така да погледнете seconds_in_wait (ако wait_time=0 ), за да определите колко секунди е прекарала сесията в текущото събитие на изчакване. Това би трябвало поне да ви каже дали сесията ви в момента е „заседнала“, но не ви казва дали заявката ви някога наистина ще завърши – ако има лош план, напълно е възможно да имате „добър“ събития за изчакване като изчакване за I/O на диска, които показват, че сесията прави нещо, но че заявката никога няма да завърши.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Инсталиране на Oracle 12c Standard Edition на Windows 10 Professional

  2. настройка на клиентска информация в JDBC за Oracle

  3. Как да агрегирам без да използвам `GROUP BY`?

  4. Създайте таблица DDL с Изпълнете незабавно в базата данни на Oracle, част 2

  5. Java:Извикване на съхранена процедура в база данни на Oracle