8174上占用CPU过高('CPU used by this session' has high value)

Oracle v8174

在启用了statspack的自动作业后,发现Statspack报告中出现了下面的信息:

Instance Activity Stats for DB: INSIDE  Instance: inside  Snaps: 17 -19

Statistic                                    Total   per Second    per Trans
--------------------------------- ---------------- ------------ ------------
CPU used by this session               524,129,846     80,660.2  9,359,461.5

刚开始一看,确实吓了一跳,这么高的CPU占用还得了,但时,从任务管理器中看到的CPU占用却很低.于是决定进一步查一下,到底是什么原因.

先看占用了CPU情况:

select ss.sid, se.command, ss.value CPU, se.username, se.program
from v$sesstat ss, v$session se
where ss.statistic# in
(select statistic#
from v$statname
where name = 'CPU used by this session') and se.sid = ss.sid and
se.sid > 6
order by cpu desc

发现7,8,9,10四个sid的cpu值特别高,这几个是系统进程,具体是什么呢?进一步查询:

Select a.Sid, b.Spid, b.Program, c.Description
From V$session a, V$process b, V$bgprocess c
Where a.Paddr = b.Addr And b.Addr = c.Paddr

发现这四个进程都是job queue processes

再查系统的自动作业,发现只有两个:

select * from dba_jobs

这就奇怪了,开始怀疑是Oracle的BUG,于是上metalink一查,果然是这样:

Bug No. 3472564

发生在8174上,但是到10.2才解决.

还好,这个系统上的自动作业不是必须的,删除后重启系统,现象消失.

如果是实际用户遇到这个问题,可以不去管它,只是v$sesstat性能统计数据出错罢了,并不是实际的CPU占用过高

原文地址:https://www.cnblogs.com/zyk/p/438661.html