Aller au contenu

Sessions bloquées ?

Emmanuel Auteur
2 min de lecture

Lors du cycle d’utilisation normal d’une base de données, il se peut que certaines sessions utilisateurs entrent en conflits entre-elles, consomment trop de ressources, ou gardent des transactions actives depuis trop de temps (de nombreux autres cas peuvent se présenter à nous…).

Dans ce genre de cas, l’administrateur peut être amené à arrêter la session de l’utilisateur. Cette opération peut être réalisée via la série d’opérations suivante :

Il faut dans un premier temps récupérer le SID de la session depuis la vue v$session, en utilisant la requête :

Remarque : On peut utiliser la clause WHERE pour rechercher une session particulière comme par exemple, une session qui est active depuis « n » minutes, ou qui bloque d’autres sessions…

Il est ensuite possible d’arrêter la session en utilisant la requête SQL suivante :

Remarque : Avec sid & serial# les valeurs retournées par la requête précédente.

Si notre base de données, est sur un environnement de type Unix, il est possible d’arrêter le processus au niveau système. Pour se faire, nous devons d’abord récupérer le pid de la session en cours :

Vérification du PID sur le serveur :

Il ne reste plus qu’a supprimer la connexion via l’instruction suivante :

Cet article vous a plu ? Partagez-le !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. Découvrez comment les données de vos commentaires sont traitées.