Comment puis-je arrêter une instruction SELECT en cours d'exécution en tuant la session ?
La commande me donne continuellement une sortie basée sur l'instruction SELECT, je veux l'arrêter entre les deux.
Comment puis-je arrêter une instruction SELECT en cours d'exécution en tuant la session ?
La commande me donne continuellement une sortie basée sur l'instruction SELECT, je veux l'arrêter entre les deux.
C'est ce que j'utilise. Je fais cette première requête pour trouver les sessions et les utilisateurs :
select s.sid, s.serial#, p.spid, s.username, s.schemaname
, s.program, s.terminal, s.osuser
from v$session s
join v$process p
on s.paddr = p.addr
where s.type != 'BACKGROUND';
Cela me permettra de savoir s'il y a plusieurs sessions pour le même utilisateur. Ensuite, je vérifie généralement si une session bloque la base de données.
SELECT SID, SQL_ID, USERNAME, BLOCKING_SESSION, COMMAND, MODULE, STATUS FROM v$session WHERE BLOCKING_SESSION IS NOT NULL;
Ensuite, j'exécute une instruction ALTER pour tuer une session spécifique dans ce format :
ALTER SYSTEM KILL SESSION 'sid,serial#';
Par exemple:
ALTER SYSTEM KILL SESSION '314, 2643';
Pour tuer une session dans Oracle, vous utilisez la commande ALTER SYSTEM KILL SESSION .
Détails ici : http://www.oracle-base.com/articles/misc/KillingOracleSessions.php
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.