2017-07-28 4 views

Antwort

1

In einfachen Worten, ein INACTIVE Status in v$session bedeutet, dass keine SQL-Anweisung zum Zeitpunkt v$session ausgeführt wird.

Von Natur aus verlangsamt eine hohe Anzahl von ACTIVE Sitzungen das gesamte DBMS einschließlich Ihrer Anwendung und kann zu einer hohen CPU-Auslastung führen.

Inaktive Sitzungen wird eine geringe Auswirkung haben, wenn Sie die maximale Sitzungsnummer nicht überschreiten.

CPU-Auslastung für aktive Sitzungen kann durch die folgende Abfrage überprüft werden.

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# 
/

Schauen Sie sich die ORACLE v $ session Dokumentation http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2088.htm#REFRN30223

+0

Vielen Dank für Ihre Antwort @XING. Könnten Sie bitte noch eine weitere Aussage treffen, ob dies Auswirkungen auf die Anwendungsleistung hat? Ich meine CPU ist in Ordnung, aber ob sich die Anwendung normal verhält oder etwas langsam wird. –

+0

Ich erwähnte bereits, es wirkt sich kaum auf Ihre Bewerbung aus, bis Sie die maximale Sitzungsnummer überschritten haben. – XING

+1

ok noch einmal danke. –

Verwandte Themen