Bonjour,
Nous avons eu un gros problème hier avec une base qui était très lente.
Nous avons fini par trouver des sessions ouvertes avec une application Weblogic depuis une semaine. Ces sessions avaient posé des verrous sur des tables et donc cela bloquait toutes les autres sessions accédant aux tables lockées.
Là où je suis surpris c'est que ces sessions n'ont pas été détectées comme anormales par Oracle car, d'après notre développeur, le serveur Weblogic avait été redémarré la veille donc ces vieilles sessions auraient dû être killées au redémarrage de Weblogic; en résumé elles étaient comme des sessions zombies, plus rattachées à des postes clients.
Nous avons finalement résolu le problème en redémarrant Weblogic d'une certaine façon et j'ai bien vu que les sessions bloquantes avaient disparu sous Oracle.
Ma question est : POURQUOI Oracle n'a-t-il pas fait lui-même le ménage? Je croyais que PMON détectait les sessions anormales (celles par exemple où le user ne se déconnecte pas proprement de SQL*Plus avec un exit ou un disconnect mais en cliquant sur la croix de la fenêtre SQL*Plus). Visiblement ce n'est pas comme ça que ça fonctionne et j'aurais besoin d'un lien ou d'explications détaillant comment Oracle gère les sessions qui devraient être killées.
Par avance un gros merci pour vos réponses.
Partager