KILL SESSION
lệnh không thực sự giết phiên họp. Nó chỉ yêu cầu phiên tự giết chính nó. Trong một số tình huống, chẳng hạn như chờ phản hồi từ cơ sở dữ liệu từ xa hoặc quay lại các giao dịch, phiên sẽ không tự kết thúc ngay lập tức và sẽ đợi hoạt động hiện tại hoàn tất. Trong những trường hợp này, phiên sẽ có trạng thái " được đánh dấu để kết thúc ". Sau đó nó sẽ bị giết càng sớm càng tốt.
Kiểm tra trạng thái để xác nhận:
SELECT sid, serial#, status, username FROM v$session;
Bạn cũng có thể sử dụng NGAY LẬP TỨC mệnh đề:
ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
IMMEDIATE
mệnh đề không ảnh hưởng đến công việc được thực hiện bởi lệnh, nhưng nó trả lại quyền điều khiển trở lại phiên hiện tại ngay lập tức, thay vì chờ xác nhận kết thúc. Hãy xem Killing Oracle Sessions.
Cập nhật Nếu bạn muốn loại bỏ tất cả các phiên, bạn chỉ cần chuẩn bị một tập lệnh nhỏ.
SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' FROM v$session;
Ống chỉ ở trên cho một .sql
và thực thi nó hoặc sao chép, dán đầu ra và chạy nó.