zoukankan      html  css  js  c++  java
  • oracle查询消耗服务器资源SQL语句

    1、查找最近一天内,最消耗CPU的SQL语句

    SELECT ASH.INST_ID,
           ASH.SQL_ID,
           (SELECT VS.SQL_TEXT
              FROM GV$SQLAREA VS
             WHERE VS.SQL_ID = ASH.SQL_ID
               AND ASH.INST_ID = VS.INST_ID) SQL_TEXT,
           ASH.SQL_CHILD_NUMBER,
           ASH.SQL_OPNAME,
           ASH.SESSION_INFO,
           COUNTS,
           PCTLOAD * 100 || '%' PCTLOAD
      FROM (SELECT ASH.INST_ID,
                   ASH.SQL_ID,
                   ASH.SQL_CHILD_NUMBER,
                   ASH.SQL_OPNAME,
                   (ASH.MODULE || '--' || ASH.ACTION || '--' || ASH.PROGRAM || '--' ||
                   ASH.MACHINE || '--' || ASH.CLIENT_ID || '--' ||
                   ASH.SESSION_TYPE) SESSION_INFO,
                   COUNT(*) COUNTS,
                   ROUND(COUNT(*) / SUM(COUNT(*)) OVER(), 2) PCTLOAD,
                   DENSE_RANK() OVER(ORDER BY COUNT(*) DESC) RANK_ORDER
              FROM GV$ACTIVE_SESSION_HISTORY ASH
             WHERE ASH.SESSION_TYPE <> 'BACKGROUND'
               AND ASH.SESSION_STATE = 'ON CPU'
               AND SAMPLE_TIME > SYSDATE - 1
             GROUP BY ASH.INST_ID,
                      ASH.SQL_ID,
                      ASH.SQL_CHILD_NUMBER,
                      ASH.SQL_OPNAME,
                      (ASH.MODULE || '--' || ASH.ACTION || '--' || ASH.PROGRAM || '--' ||
                      ASH.MACHINE || '--' || ASH.CLIENT_ID || '--' ||
                      ASH.SESSION_TYPE)) ASH
     WHERE RANK_ORDER <= 10
     ORDER BY COUNTS DESC;

    2、查找最近一天内,最消耗CPU的会话

    SELECT SESSION_ID, COUNT(*)
      FROM V$ACTIVE_SESSION_HISTORY V
     WHERE V.SESSION_STATE = 'ON CPU'
       AND V.SAMPLE_TIME > SYSDATE - 1
     GROUP BY SESSION_ID
     ORDER BY COUNT(*) DESC;

    3、查找最近一天内,最消耗I/O的SQL语句

    SELECT ASH.INST_ID,
           ASH.SQL_ID,
           (SELECT VS.SQL_TEXT
              FROM GV$SQLAREA VS
             WHERE VS.SQL_ID = ASH.SQL_ID
               AND ASH.INST_ID = VS.INST_ID) SQL_TEXT,
           ASH.SQL_CHILD_NUMBER,
           ASH.SQL_OPNAME,
           ASH.SESSION_INFO,
           COUNTS,
           PCTLOAD * 100 || '%' PCTLOAD
      FROM (SELECT ASH.INST_ID,
                   ASH.SQL_ID,
                   ASH.SQL_CHILD_NUMBER,
                   ASH.SQL_OPNAME,
                   (ASH.MODULE || '--' || ASH.ACTION || '--' || ASH.PROGRAM || '--' ||
                   ASH.MACHINE || '--' || ASH.CLIENT_ID || '--' ||
                   ASH.SESSION_TYPE) SESSION_INFO,
                   COUNT(*) COUNTS,
                   ROUND(COUNT(*) / SUM(COUNT(*)) OVER(), 2) PCTLOAD,
                   DENSE_RANK() OVER(ORDER BY COUNT(*) DESC) RANK_ORDER
              FROM GV$ACTIVE_SESSION_HISTORY ASH
             WHERE ASH.SESSION_TYPE <> 'BACKGROUND'
               AND ASH.SESSION_STATE = 'WAITING'
               AND ASH.SAMPLE_TIME > SYSDATE - 1
               AND ASH.WAIT_CLASS = 'USER I/O'
             GROUP BY ASH.INST_ID,
                      ASH.SQL_ID,
                      ASH.SQL_CHILD_NUMBER,
                      ASH.SQL_OPNAME,
                      (ASH.MODULE || '--' || ASH.ACTION || '--' || ASH.PROGRAM || '--' ||
                      ASH.MACHINE || '--' || ASH.CLIENT_ID || '--' ||
                      ASH.SESSION_TYPE)) ASH
     WHERE RANK_ORDER <= 10
     ORDER BY COUNTS DESC;

    4、查找最近一天内,最消耗资源的SQL语句

    SELECT ASH.INST_ID,
           ASH.SQL_ID,
           (SELECT VS.SQL_TEXT
              FROM GV$SQLAREA VS
             WHERE VS.SQL_ID = ASH.SQL_ID
               AND ASH.INST_ID = VS.INST_ID) SQL_TEXT,
           ASH.SQL_CHILD_NUMBER,
           ASH.SQL_OPNAME,
           ASH.SESSION_INFO,
           COUNTS,
           PCTLOAD * 100 || '%' PCTLOAD
      FROM (SELECT ASH.INST_ID,
                   ASH.SQL_ID,
                   ASH.SQL_CHILD_NUMBER,
                   ASH.SQL_OPNAME,
                   (ASH.MODULE || '--' || ASH.ACTION || '--' || ASH.PROGRAM || '--' ||
                   ASH.MACHINE || '--' || ASH.CLIENT_ID || '--' ||
                   ASH.SESSION_TYPE) SESSION_INFO,
                   COUNT(*) COUNTS,
                   ROUND(COUNT(*) / SUM(COUNT(*)) OVER(), 2) PCTLOAD,
                   DENSE_RANK() OVER(ORDER BY COUNT(*) DESC) RANK_ORDER
              FROM GV$ACTIVE_SESSION_HISTORY ASH
             WHERE ASH.SESSION_TYPE <> 'BACKGROUND'
               AND ASH.SESSION_STATE = 'WAITING'
               AND ASH.SAMPLE_TIME > SYSDATE - 1
               AND ASH.WAIT_CLASS = 'USER I/O'
             GROUP BY ASH.INST_ID,
                      ASH.SQL_ID,
                      ASH.SQL_CHILD_NUMBER,
                      ASH.SQL_OPNAME,
                      (ASH.MODULE || '--' || ASH.ACTION || '--' || ASH.PROGRAM || '--' ||
                      ASH.MACHINE || '--' || ASH.CLIENT_ID || '--' ||
                      ASH.SESSION_TYPE)) ASH
     WHERE RANK_ORDER <= 10
     ORDER BY COUNTS DESC;

    5、查找最近一天内,最消耗资源的会话

    SELECT ASH.SESSION_ID,
           ASH.SESSION_SERIAL#,
           ASH.USER_ID,
           ASH.PROGRAM,
           SUM(DECODE(ASH.SESSION_STATE, 'ON CPU', 1, 0)) "CPU",
           SUM(DECODE(ASH.SESSION_STATE, 'WAITING', 1, 0)) -
           SUM(DECODE(ASH.SESSION_STATE,
                      'WAITING',
                      DECODE(ASH.WAIT_CLASS, 'USER I/O', 1, 0),
                      0)) "WAITING",
           SUM(DECODE(ASH.SESSION_STATE,
                      'WAITING',
                      DECODE(ASH.WAIT_CLASS, 'USER I/O', 1, 0),
                      0)) "IO",
           SUM(DECODE(ASH.SESSION_STATE, 'ON CPU', 1, 1)) "TOTAL"
      FROM V$ACTIVE_SESSION_HISTORY ASH
     WHERE ASH.SAMPLE_TIME > SYSDATE - 1
     GROUP BY ASH.SESSION_ID, ASH.USER_ID, ASH.SESSION_SERIAL#, ASH.PROGRAM
     ORDER BY SUM(DECODE(ASH.SESSION_STATE, 'ON CPU', 1, 1));
  • 相关阅读:
    Extjs 4 生成饼状图的例子
    cocos2d-x 3.0rc2 对于每个包执行情况的重要平台 (超级方便)
    HDOJ 1495 非常可乐 【BFS】
    Android采用HttpClient下载图片
    解决本地访问Android文档是非常慢的问题
    潜在语义分析Latent semantic analysis note(LSA)原理及代码
    你奋斗这么辛苦,这辈子要证明什么?
    Objective-C时间戳转换的转换和时间
    Delphi 线程resume 不能调用Execute
    Delphi 多线程 “尚未调用CoInitialize错误”的解决方法
  • 原文地址:https://www.cnblogs.com/beanbag/p/10570527.html
Copyright © 2011-2022 走看看