关于数据库进程占用CPU很大通过系统进程反查该进程在执行什么

最近处理了一个问题,是数据库连接进程占用CPU性能很高问题
1、这里我先用 v$sesstat,v$statname,v$session 和 v$process 二个数据字典,进行关联查询,查出这些进程的连接信息

select p.spid      as os_pro_id,
       ss.sid      as ora_pro_id,
       se.serial#,
       se.osuser,
       se.machine,
       se.command,
       ss.value    CPU,
       se.username,
       se.program
  from v$sesstat ss, v$session se, v$process p
 where p.addr = se.paddr   and se.sid = ss.sid
   AND ss.statistic# in
       (select statistic#
          from v$statname
         where name = 'CPU used by this session')
   and p.spid in ('系统PID');

2、通过查询出来的SID,再用v$sqlarea 和 v$session 关联查询出单个SID所执行的任务
SELECT a.address, a.sql_text
  FROM V$SQLAREA a, V$SESSION b
 WHERE a.ADDRESS = b.SQL_ADDRESS
   and b.sid = 'SID'

3、根据上面查询出来的结果基本上可以判断是哪台机子通过什么方式连接数据库执行的什么任务。






来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/18762014/viewspace-1720478/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/18762014/viewspace-1720478/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值