Recherche de la session à killer
Cette partie est la même quel que soit l'OS.Il suffit de jouer cette requête :
SET LINESIZE 100
COLUMN spid FORMAT A10
COLUMN username FORMAT A10
COLUMN program FORMAT A45
SELECT s.inst_id,
s.sid,
s.serial#,
p.spid,
s.username,
s.program
FROM gv$session s
JOIN gv$process p ON p.addr = s.paddr
AND p.inst_id = s.inst_id
WHERE s.type != 'BACKGROUND';
Le résultat sera de ce genre :
INST_ID SID SERIAL# SPID USERNAME PROGRAM
---------- ---------- ---------- ---------- ---------- ---------------------------------------------
1 150 17 6116 DBSNMP emagent.exe
1 92 120 1384 XXX SQL Developer
1 16 68 6104 DBSNMP emagent.exe
1 32 105 4616 SYS sqlplus.exe
1 124 22 5684 DBSNMP emagent.exe
Killer la session
Toujours sous sqlplus, vous pouvez alors killer cette session. La syntaxe est :ALTER SYSTEM KILL SESSION 'sid,serial#';
Ce qui dans mon exemple donne :
ALTER SYSTEM KILL SESSION '92,120';
SystÞme modifiÚ.
Oui, la console sous MS-DOS affiche toujours des caractères bizarres, mais Oracle n'a visiblement pas l'intention de le corriger.