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

Cách khắc phục sự cố ORA-02049 và khóa các sự cố nói chung với Oracle

Một cách khả thi có thể là tăng INIT.ORA tham số cho distributed_lock_timeout đến một giá trị lớn hơn. Sau đó, điều này sẽ cung cấp cho bạn thời gian lâu hơn để quan sát v$lock bàn vì ổ khóa sẽ tồn tại lâu hơn.

Để đạt được tự động hóa việc này, bạn có thể

  • Chạy một công việc SQL cứ sau 5-10 giây ghi lại các giá trị của v$lock hoặc truy vấn mà sandos đã đưa ở trên vào một bảng và sau đó phân tích nó để xem phiên nào đã gây ra khóa.

  • Chạy STATSPACK hoặc một AWR Báo cáo. Các phiên đã bị khóa sẽ hiển thị với thời gian trôi qua cao và do đó có thể được xác định.

v$session có thêm 3 cột blocking_instance, blocking_session, blocking_session_status có thể được thêm vào truy vấn ở trên để đưa ra bức tranh về những gì đang bị khóa.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để xác thực số thẻ tín dụng và xác định loại thẻ bằng PL / SQL?

  2. Chia các giá trị được phân tách bằng dấu phẩy thành các cột trong Oracle

  3. Khai thác dữ liệu Oracle (ODM) - Cài đặt &Thiết lập

  4. Phân vùng Oracle theo Từ khóa

  5. Truy cập dịch vụ Web từ quy trình được lưu trữ của Oracle