2017-07-28 88 views

回答

1

简而言之,v$session中的INACTIVE状态表示在检入v$session时没有执行SQL语句。

就本质而言,大量的ACTIVE会话会减慢整个DBMS,包括您的应用程序,并可能导致CPU利用率高。

非活动会话的影响很小,除非您超过最大会话数。

活动会话的CPU使用率可以通过以下查询来检查。

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

退房ORACLE的V $会议文件http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2088.htm#REFRN30223

+0

感谢@XING你的答案。你能否指定一件事是否影响应用程序性能?我的意思是CPU是好的,但应用程序是否会表现正常或可能会变慢。 –

+0

我已经提到过,它几乎不会影响您的应用程序,直到您超过最大会话数。 – XING

+1

好的再次感谢。 –