• 技术文章 >web前端 >js教程

    查找Oracle高消耗语句的方法_javascript技巧

    2016-05-16 16:54:49原创762
    在运行下面的脚本之前需要先用生成AWR报告的SQL(程序脚本一般保存在$ORACLE_HOME下的rdbms/admin中,名称为awrrpt.sql,需要输入生成AWR报告的天数范围)找到开始和结束的snapshot编号:begin_snap和end_snap。
    复制代码 代码如下:

    set line 1000
    set linesize 200
    set pagesize 2000
    set long 999999
    set echo on
    set markup html on
    select res.*
    from (select to_char(d.end_interval_time,'yyyy-mm-dd'),
    a.PARSING_SCHEMA_NAME,
    c.MODULE,
    a.sql_id,
    a.execs as 执行次数,
    ROUND(a.cpu_times / a.execs, 2) as 单次执行时间,
    a.cpu_times as cpu消耗时间,
    ROUND(a.cpu_times / b.sum_time * 100, 2) as 消耗cpu百分比,
    a.buffer_gets as 逻辑读,
    ROUND(a.buffer_gets / b.sum_buffer * 100, 2) as 逻辑读百分比,
    a.disk_read as 物理读,
    ROUND(a.disk_read / b.sum_disk * 100, 2) as 物理读百分比,
    c.sql_fulltext
    from (select PARSING_SCHEMA_NAME,
    sql_id,
    sum(EXECUTIONS_DELTA) AS execs,
    round(sum(CPU_TIME_DELTA) / 1000000, 2) AS cpu_times,
    round(sum(ELAPSED_TIME_DELTA) / 1000000, 2) AS elapsed_time,
    sum(BUFFER_GETS_DELTA) AS buffer_gets,
    sum(DISK_READS_DELTA) AS disk_read
    from sys.WRH$_SQLSTAT wr, gv$instance i
    where SNAP_ID <= &end_snap
    and snap_id >= &begin_snap
    and wr.INSTANCE_NUMBER = i.INSTANCE_NUMBER
    and i.instance_number = &instance_number
    group by PARSING_SCHEMA_NAME, wr.INSTANCE_NUMBER, sql_id) a,
    (SELECT round(SUM(CPU_TIME_DELTA) / 1000000, 2) sum_time,
    SUM(BUFFER_GETS_DELTA) sum_buffer,
    sum(DISK_READS_DELTA) sum_disk
    FROM sys.WRH$_SQLSTAT wr, gv$instance i
    where SNAP_ID <= &end_snap
    and snap_id >= &begin_snap
    and wr.INSTANCE_NUMBER = i.INSTANCE_NUMBER
    and i.instance_number = &instance_number) b,
    v$sqlarea c,
    dba_hist_snapshot d
    where a.execs > 0
    and a.sql_id = c.sql_id
    and a.PARSING_SCHEMA_NAME <> 'SYS'
    and d.snap_id = &end_snap
    order by cpu消耗时间 desc) res
    where rownum < 41;
    exit


    将脚本输出内容保存到记事本txt中,并将记事本的后缀名更改为.html,这样就可以输出以下的网页内容:
    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:Oracle 高消耗语句
    上一篇:jquery插件冲突(jquery.noconflict)解决方法分享_jquery 下一篇:将中国标准时间转换成标准格式的代码_javascript技巧
    PHP编程就业班

    相关文章推荐

    • map在jquery中的用法是什么• 聊聊各种可能导致 Node.js 进程退出的情况• 完全掌握JavaScript之DOM与BOM的区别与用法• 带你学习JavaScript中的File API、Streams API和Web Cryptography API• 浅析node esmodule模式下怎么调用commonjs模块

    全部评论我要评论

  • 取消发布评论发送
  • 1/1

    PHP中文网