ITPub博客

首页 > Linux操作系统 > Linux操作系统 > 实时查询最耗CPU资源的SQL语句

实时查询最耗CPU资源的SQL语句

原创 Linux操作系统 作者:sherwinjiang 时间:2008-06-04 17:55:23 0 删除 编辑

作为DBA,维护人员或者开发人员会常对数据库服务器CPU负载过高产生疑问,尤其想了解哪个用户的哪个进程在消耗资源,下面这个查询步骤,可协助分析了解:

1:获取服务器压力进程pid:

    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                               
  2057 oracle    25   0 8213m 1.7g 1.7g R  100 11.1  30:55.14 oracle                                                                
  27631 oracle    20   0 8309m 4.9g 4.7g R   97 31.1 234:57.13 oracle

2:查询当前耗时的会话ID,用户名,sqlID等:

 select sid,serial#,username,program,sql_hash_value,sql_id,
       to_char(logon_time,'yyyy/mm/dd hh24:mi:ss') as login_time
  from v$session
 where paddr in (select addr from v$process where spid in ('2057','27631'));

3:如果上一步sql_id不为空,则可用v$sqlarea查出当前正在使用的sql

通过上述步骤可初步分析耗cpu的进程,并有针对性地对事务进行解决。

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

下一篇: 没有了~
请登录后发表评论 登录
全部评论

注册时间:2008-05-25

  • 博文量
    3
  • 访问量
    35556