close
Unix, Linux & Tips

Les tribulations d'un admin sys

Image par Lukas Bieri de Pixabay

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 :

Tags : killsessionsql
Emmanuel V.

The author Emmanuel V.

Leave a Response

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.