DBAtlas · Veritabanı operasyon atlası

Bir oturumu / sorguyu sonlandır (kill)

Oracle

ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
-- Yalnız çalışan sorguyu kesmek için (18c+):
-- ALTER SYSTEM CANCEL SQL 'sid,serial#';

sid ve serial# değerlerini v$session'dan alın. IMMEDIATE, rollback'i hemen başlatır.

PostgreSQL

-- Sadece çalışan sorguyu iptal et (oturum kalır):
SELECT pg_cancel_backend(pid);
-- Oturumu tamamen kapat:
SELECT pg_terminate_backend(pid);

Önce pg_cancel_backend deneyin; işe yaramazsa pg_terminate_backend kullanın.

MySQL

-- Sadece sorguyu kes:
KILL QUERY <id>;
-- Bağlantıyı tamamen kapat:
KILL CONNECTION <id>;

<id> değeri processlist'teki Id sütunudur.

SQL Server

KILL <session_id>;
-- Geri alma ilerlemesini görmek için:
-- KILL <session_id> WITH STATUSONLY;

KILL, açık transaction'ı geri alır; büyük transaction'larda rollback uzun sürebilir.

MongoDB

db.killOp(<opid>)

opid değerini db.currentOp() çıktısındaki opid alanından alın.

Redis

CLIENT KILL ID <client-id>
# veya adrese göre: CLIENT KILL ADDR 10.0.0.5:6379

client-id için CLIENT LIST kullanın. Çalışmakta olan tek bir komut yarıda kesilemez (Lua betiği hariç: SCRIPT KILL); bitmesi beklenir. BLPOP/XREAD BLOCK gibi bloklayıcı bir komutta bekleyen istemciyi bağlantısını kesmeden serbest bırakmak için CLIENT UNBLOCK <client-id> [TIMEOUT|ERROR] kullanılır. CLIENT UNPAUSE ise yalnızca CLIENT PAUSE ile duraklatılmış istemcileri sürdürür.

DBAtlas'ta aç →