Inactive Oracle Sessions 是否会导致高 CPU 使用率或增加 CPU 等待时间?

Does Inactive Oracle Sessions may lead to high CPU usage or increase CPU wait time?

如果我有相当多的非活动数据库会话也可能在连接池中使用,我想知道它们是否会导致任何高 CPU 利用率或增加 CPU 等待周期 ?

简而言之,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$session 文档http://docs.oracle.com/cd/B19306_01/server.102/b14237/dynviews_2088.htm#REFRN30223