一次oracle 数据库cpu 100% 的定位

   一次oracle 数据库把整个服务器的cpu 都消耗干净了,紧急定位了一下,步骤如下:

   1.  查询哪个进程消耗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 ss.sid>6
  order by ss.sid;

     一次oracle 数据库cpu 100% 的定位

 

2.看到上述几个占据cpu 比较多的SID 

3.PL/SQL 客户端  工具--》会话,查看是哪个机器造成的。 

   我们当时的场景是多个机器同连一个数据库,其中一台机器疯狂的sql 查询耗尽了数据库性能。

一次oracle 数据库cpu 100% 的定位