Si j'ai un certain nombre de sessions DB inactives qui pourraient également être utilisées dans CONNECTION POOL, je veux savoir si elles peuvent conduire à une utilisation élevée du processeur ou augmenter les cycles d'attente du processeur.Les sessions Oracle inactives peuvent-elles entraîner une utilisation élevée du processeur ou augmenter le temps d'attente du processeur?
0
A
Répondre
1
En termes simples, un état INACTIVE
dans v$session
signifie qu'aucune instruction SQL n'est en cours d'exécution au moment de l'enregistrement v$session
.
Par nature, un nombre élevé de sessions ACTIVE
ralentira l'ensemble du SGBD, y compris votre application, et peut entraîner une utilisation élevée du processeur.
Les sessions inactives auront un faible impact sauf si vous dépassez le nombre maximal de sessions.
L'utilisation du processeur pour les sessions actives peut être vérifiée par la requête ci-dessous.
SELECT
s.username,
t.sid,
s.serial#,
SUM(VALUE/100) as "cpu usage (seconds)"
FROM
v$session s,
v$sesstat t,
v$statname n
WHERE
t.STATISTIC# = n.STATISTIC#
AND
NAME like '%CPU used by this session%'
AND
t.SID = s.SID
AND
s.status='ACTIVE'
AND
s.username is not null
GROUP BY username,t.sid,s.serial#
/
Vérifiez la v ORACLE documentation de la session $ http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2088.htm#REFRN30223
Merci @XING pour votre réponse. Pourriez-vous s'il vous plaît préciser une chose de plus si cela a un impact sur la performance de l'application? Je veux dire CPU est ok mais si l'application va se comporter normalement ou peut devenir un peu lent. –
Je l'ai déjà mentionné, il a peu d'impact sur votre application jusqu'à ce que vous dépassiez le nombre maximal de sessions. – XING
ok merci encore une fois. –