Oracle
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Oracle

Sử dụng gv $ session để biết một truy vấn có bị treo hay không

Trong gv$session , event cột cho bạn biết sự kiện chờ đợi mà phiên của bạn hiện đang chờ. Nếu phiên của bạn đang chờ một loại khóa nào đó do phiên khác giữ, thì event sẽ cho bạn biết điều đó (ví dụ:nó sẽ là "enq:TX - row lock contention" nếu bạn đang xếp hàng chờ khóa một hàng được giữ bởi một phiên khác) và blocking_instanceblocking_session sẽ được điền với phiên bản và ID phiên của chủ sở hữu khóa. Bạn cũng có thể xem seconds_in_wait (nếu wait_time=0 ) để xác định phiên đã dành bao nhiêu giây trong sự kiện chờ hiện tại. Điều đó ít nhất sẽ cho bạn biết liệu phiên của bạn hiện có đang bị "kẹt" hay không nhưng nó không cho bạn biết liệu truy vấn của bạn có thực sự kết thúc hay không-- nếu có một kế hoạch tồi, hoàn toàn có thể là bạn đã có "tốt" sự kiện chờ đợi như đợi I / O đĩa cho biết phiên đang thực hiện điều gì đó nhưng truy vấn sẽ không bao giờ thực sự kết thúc.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. sự khác biệt giữa NLS_NCHAR_CHARACTERSET và NLS_CHARACTERSET cho Oracle

  2. thay đổi cột đổi tên bảng trong cơ sở dữ liệu oracle

  3. Oracle:Trả về nhiều giá trị trong một hàm

  4. Chạy SCRIPT từ PL / SQL Block

  5. Hibernate Tham gia hai bảng không liên quan khi cả hai đều có Khóa chính tổng hợp