DB: Oracle 10g
O / S: Windows Server 2003 64 bits
Je recherche la liste des sessions Oracle générées par les applications web (filtrer par programme = w3wp.exe)
select * from V$session
where UPPER(program) LIKE '%W3%'
order by logon_time
Selon Logon_Time, pourquoi y a-t-il encore des sessions en cours du 31/07/2012 ou 01/08/2012 ou une session avant aujourd'hui (21/08/2012)?
J'ai configuré sur sqlnet.ora: SQLNET.EXPIRE_TIME = 20 Cela signifie donc que toutes les 20 minutes Oracle vérifie si les connexions sont toujours actives.
Tous les schémas utilisateur ont un profil par défaut. Cela signifierait qu'aucune session n'expirerait ou ne mourrait jamais?
Ajouté en réponse au commentaire de Phil:
Ajouté en réponse à la réponse de Phil:
oracle
oracle-10g
Delmonte
la source
la source
v$session.PREV_EXEC_START
pour ces sessions? Je soupçonne qu'ils font partie d'un pool de connexions et ne sont donc pas inactifs car ils sont utilisés fréquemment.INACTIVE
signifie simplement qu'aucune instruction SQL n'est en cours d'exécution au moment exact de votre vérificationv$session
. S'ils font partie d'un pool de connexions, ils font leur travail correctement - le but du pool de connexions est de supprimer le besoin de nombreuses ouvertures / fermetures de session et de conserver des sessions persistantes pour un démarrage rapide (surcharge beaucoup plus importante juste pour exécuter une requête). Je ne comprends pas pourquoi tu t'inquiètes pour ça.Réponses:
Je soupçonne qu'ils font partie d'un pool de connexions et ne sont donc pas inactifs car ils sont utilisés fréquemment.
INACTIVE
env$session
signifie simplement qu'il n'y a pas d'instruction SQL en cours d'exécution au moment exact où vous vérifiezv$session
.S'ils font partie d'un pool de connexions, ils font leur travail correctement en étant connectés pendant de longues périodes. L'intérêt du regroupement de connexions est de supprimer le besoin de nombreuses ouvertures / fermetures de session et de conserver des sessions persistantes pour un démarrage rapide des requêtes - il y a un surcoût beaucoup plus important pour ouvrir une requête, puis se déconnecter à chaque fois.
Pour obtenir le dernier temps d'activité pour chaque session:
Je déconseille de tuer des sessions, sauf si vous savez que cela ne causera pas de problèmes du côté de l'application (essayer d'utiliser une session qui a été supprimée, par exemple).
Il se peut que vous examiniez un pool de connexions mal configuré qui crée des centaines de connexions une fois l'application démarrée - le pool de connexions peut être d'un ordre de grandeur plus grand qu'il ne devrait l'être. Je suggère de contacter les développeurs / le personnel de support des applications et de voir comment le pool de connexions est configuré.
Après avoir fait un peu de recherche, w3wp.exe est le processus du pool d'applications IIS - vous voulez presque certainement parler à vos administrateurs de serveur Web IIS pour vous aider à atteindre le bas de la configuration du pool de connexions.
la source