KILL SESSION
kommandoen dræber faktisk ikke sessionen. Den beder blot sessionen om at dræbe sig selv. I nogle situationer, som f.eks. at vente på et svar fra en ekstern database eller at rulle tilbage transaktioner, vil sessionen ikke slå sig selv ihjel med det samme og vil vente på, at den aktuelle handling er fuldført. I disse tilfælde vil sessionen have status som "markeret til dræb ". Den bliver så aflivet hurtigst muligt.
Kontroller status for at bekræfte:
SELECT sid, serial#, status, username FROM v$session;
Du kan også bruge IMMEDIATE klausul:
ALTER SYSTEM KILL SESSION 'sid,serial#' IMMEDIATE;
IMMEDIATE
klausulen påvirker ikke det arbejde, der udføres af kommandoen, men det returnerer kontrollen tilbage til den aktuelle session med det samme, i stedet for at vente på bekræftelse af drabet. Tag et kig på Killing Oracle Sessions.
Opdater Hvis du vil slå alle sessionerne ihjel, kan du bare forberede et lille script.
SELECT 'ALTER SYSTEM KILL SESSION '''||sid||','||serial#||''' IMMEDIATE;' FROM v$session;
Spool ovenstående til en .sql
fil og kør det, eller kopier indsæt outputtet og kør det.