2017-07-28 4 views

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

+0

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. –

+0

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

+1

ok merci encore une fois. –