DBAtlas · Atlas für Datenbankbetrieb

Session / Abfrage beenden (kill)

Oracle

ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
-- To cancel only the running statement (18c+):
-- ALTER SYSTEM CANCEL SQL 'sid,serial#';

sid und serial# aus v$session holen. IMMEDIATE startet den Rollback sofort.

PostgreSQL

-- Cancel only the running query (the session stays):
SELECT pg_cancel_backend(pid);
-- Close the session entirely:
SELECT pg_terminate_backend(pid);

Zuerst pg_cancel_backend versuchen; wenn das nicht wirkt, pg_terminate_backend verwenden.

MySQL

-- Kill only the query:
KILL QUERY <id>;
-- Close the connection entirely:
KILL CONNECTION <id>;

Der Wert <id> ist die Spalte Id in der Processlist.

SQL Server

KILL <session_id>;
-- To see rollback progress:
-- KILL <session_id> WITH STATUSONLY;

KILL rollt die offene Transaktion zurück; bei großen Transaktionen kann der Rollback lange dauern.

MongoDB

db.killOp(<opid>)

Den opid-Wert aus dem Feld opid der Ausgabe von db.currentOp() übernehmen.

Redis

CLIENT KILL ID <client-id>
# or by address: CLIENT KILL ADDR 10.0.0.5:6379

Die client-id mit CLIENT LIST ermitteln. Ein bereits laufender einzelner Befehl lässt sich nicht unterbrechen (außer einem Lua-Skript: SCRIPT KILL); man muss warten, bis er fertig ist. Um einen Client, der auf einen blockierenden Befehl wie BLPOP/XREAD BLOCK wartet, freizugeben, ohne seine Verbindung zu trennen, CLIENT UNBLOCK <client-id> [TIMEOUT|ERROR] verwenden. CLIENT UNPAUSE setzt nur Clients fort, die mit CLIENT PAUSE angehalten wurden.

In DBAtlas öffnen →