11g查看性能慢sql的一个方法

本文详细介绍了如何使用SQL监控工具分析CPU消耗高的SQL语句,并提供了优化建议。同时,通过查询操作系统进程来进一步诊断资源瓶颈。内容涵盖SQL性能监控、CPU资源使用情况分析及优化方法。
select *
  from (select a.sid,
               a.sql_id,
               a.status,
               a.cpu_time / 1000000,
               a.buffer_gets,
               a.DISK_READS,
               b.SQL_TEXT
          from v$sql_monitor a, v$sql b
         where a.SQL_ID = b.SQL_ID
         order by a.CPU_TIME desc)

 where rownum <= 20;



v$sql是实时统计数据,可以定位消耗资源的sql


 select a.USERNAME,
        a.OPNAME,
        b.SQL_TEXT,
        to_char(a.START_TIME, 'DD-MON-YY HH24:MI'),
        a.ELAPSED_SECONDS,
        a.TIME_REMAINING,
        a.SOFAR,
        round(a.SOFAR / a.TOTALWORK * 100, 2)
   from v$session_longops a, v$sql b
  where a.SQL_ADDRESS = b.ADDRESS
    and a.SQL_HASH_VALUE = b.HASH_VALUE
    and a.SOFAR <> a.TOTALWORK
    and a.TOTALWORK != 0;


查看消耗cpu的操作系统进程

ps -e -o pcpu,pid,user,tty,args|sort -n -k 1 -r |head



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值