获取数据库30天内各个指标的TOP语句

标签: 数据库 指标 top | 发表时间:2014-06-20 17:19 | 作者:ZengMuAnSha
出处:http://blog.csdn.net

要查询短时间内的可以从v$sql 或者是v$sqlarea 如果要查询一周或者一个月内 那么有可能在V$SQLAREA里找不到!下面是通过历史DBA_HIST_SQLSTAT里获得, 这个是通过快照方式保留下来的.


--执行时间最长的


WITH  BASTABLE AS 
(  
  SELECT DBMS_LOB.SUBSTR(SQL_TEXT,4000, 1 ) AS SQL_FULL_TEXT,
         DHST.SQL_ID,
         ROUND (X.ELAPSED_TIME / 1000000 / X.EXECUTIONS_DELTA, 3) AVG_ELAPSED_TIME_SEC,
         ROUND (X.CPU_TIME / 1000000 / X.EXECUTIONS_DELTA, 3) AVG_CPU_TIME_SEC, 
         ROUND (X.BUFFER_GETS_DELTA / X.EXECUTIONS_DELTA, 3) AVG_BUFFER_GETS,  
         ROUND (X.PARSE_CALLS_DELTA/X.EXECUTIONS_DELTA*100, 3) EXEC_PARSE_RATE,
         ROUND (X.PHYSICAL_READ_BYTES_DELTA/1024/X.EXECUTIONS_DELTA, 3) AVG_PHYSICAL_READ_KB, 
         ROUND (X.DISK_READS_DELTA / X.EXECUTIONS_DELTA, 3) AVG_DISK_READS,      
         EXECUTIONS_DELTA AS EXEC_TOTAL_NUM,DHST.COMMAND_TYPE,N.COMMAND_NAME        
    FROM DBA_HIST_SQLTEXT DHST, DBA_HIST_SQLCOMMAND_NAME    N,  
         (  
          SELECT DHSS.SQL_ID SQL_ID,
                 SUM (DHSS.CPU_TIME_DELTA) CPU_TIME,   
                 SUM (DHSS.ELAPSED_TIME_DELTA) ELAPSED_TIME,   
                 CASE SUM (DHSS.EXECUTIONS_DELTA) WHEN 0 THEN 1 ELSE SUM (DHSS.EXECUTIONS_DELTA) END AS EXECUTIONS_DELTA,
                 CASE SUM (DHSS.SORTS_DELTA) WHEN 0 THEN 1 ELSE SUM (DHSS.SORTS_DELTA) END AS SORTS_DELTA,     
                 CASE SUM (DHSS.FETCHES_DELTA) WHEN 0 THEN 1 ELSE SUM (DHSS.FETCHES_DELTA) END AS FETCHES_DELTA,
                 CASE SUM (DHSS.PARSE_CALLS_DELTA) WHEN 0 THEN 1 ELSE SUM (DHSS.PARSE_CALLS_DELTA) END AS PARSE_CALLS_DELTA,
                 CASE SUM (DHSS.DISK_READS_DELTA) WHEN 0 THEN 1 ELSE SUM (DHSS.DISK_READS_DELTA) END AS DISK_READS_DELTA,
                 CASE SUM (DHSS.BUFFER_GETS_DELTA) WHEN 0 THEN 1 ELSE SUM (DHSS.BUFFER_GETS_DELTA) END AS BUFFER_GETS_DELTA,
                 CASE SUM (DHSS.IOWAIT_DELTA) WHEN 0 THEN 1 ELSE SUM (DHSS.IOWAIT_DELTA) END AS IOWAIT_DELTA,
                 CASE SUM (DHSS.PHYSICAL_READ_BYTES_DELTA) WHEN 0 THEN 1 ELSE SUM (DHSS.PHYSICAL_READ_BYTES_DELTA) END AS PHYSICAL_READ_BYTES_DELTA                                                                                                                                                                                         
            FROM DBA_HIST_SQLSTAT DHSS 
           WHERE DHSS.SNAP_ID IN   
                (SELECT SNAP_ID   
                   FROM DBA_HIST_SNAPSHOT   
                  WHERE BEGIN_INTERVAL_TIME >= TRUNC(SYSDATE)-30
                    AND END_INTERVAL_TIME <TRUNC(SYSDATE)-0  
                ) 
           AND DHSS.PARSING_SCHEMA_NAME =UPPER('SHARK')                      
          GROUP BY DHSS.SQL_ID
          ) X 
   WHERE X.SQL_ID = DHST.SQL_ID   
     AND DHST.COMMAND_TYPE = N.COMMAND_TYPE 
)
SELECT * FROM 
(
SELECT SQL_FULL_TEXT,SQL_ID,EXEC_TOTAL_NUM, AVG_DISK_READS AS VALUE_S, 'AVG_DISK_READS' AS VALUES_TYPE 
FROM BASTABLE WHERE COMMAND_TYPE<>47  AND SQL_FULL_TEXT NOT LIKE '/* SQL A%' ORDER BY AVG_DISK_READS DESC ) WHERE ROWNUM <=5
UNION ALL 
SELECT * FROM 
(
SELECT SQL_FULL_TEXT,SQL_ID,EXEC_TOTAL_NUM, AVG_ELAPSED_TIME_SEC AS VALUE_S, 'AVG_ELAPSED_TIME_SEC' AS VALUES_TYPE 
FROM BASTABLE WHERE COMMAND_TYPE<>47  AND SQL_FULL_TEXT NOT LIKE '/* SQL A%'  ORDER BY AVG_ELAPSED_TIME_SEC DESC ) WHERE ROWNUM <=5
UNION ALL 
SELECT * FROM 
(
SELECT SQL_FULL_TEXT,SQL_ID,EXEC_TOTAL_NUM, AVG_CPU_TIME_SEC AS VALUE_S, 'AVG_CPU_TIME_SEC' AS VALUES_TYPE 
FROM BASTABLE WHERE COMMAND_TYPE<>47  AND SQL_FULL_TEXT NOT LIKE '/* SQL A%'  ORDER BY AVG_CPU_TIME_SEC DESC ) WHERE ROWNUM <=5
UNION ALL 
SELECT * FROM 
(
SELECT SQL_FULL_TEXT,SQL_ID,EXEC_TOTAL_NUM, AVG_BUFFER_GETS AS VALUE_S, 'AVG_BUFFER_GETS' AS VALUES_TYPE 
FROM BASTABLE WHERE COMMAND_TYPE<>47  AND SQL_FULL_TEXT NOT LIKE '/* SQL A%'  ORDER BY AVG_BUFFER_GETS DESC ) WHERE ROWNUM <=5
UNION ALL 
SELECT * FROM 
(
SELECT SQL_FULL_TEXT,SQL_ID,EXEC_TOTAL_NUM, EXEC_PARSE_RATE AS VALUE_S, 'EXEC_PARSE_RATE' AS VALUES_TYPE 
FROM BASTABLE WHERE COMMAND_TYPE<>47  AND SQL_FULL_TEXT NOT LIKE '/* SQL A%'  ORDER BY EXEC_PARSE_RATE DESC ) WHERE ROWNUM <=5
UNION ALL 
SELECT * FROM 
(
SELECT SQL_FULL_TEXT,SQL_ID,EXEC_TOTAL_NUM, AVG_PHYSICAL_READ_KB AS VALUE_S, 'AVG_PHYSICAL_READ_KB' AS VALUES_TYPE 
FROM BASTABLE WHERE COMMAND_TYPE<>47 ORDER BY AVG_PHYSICAL_READ_KB DESC ) WHERE ROWNUM <=5
UNION ALL 
SELECT * FROM 
(
SELECT SQL_FULL_TEXT,SQL_ID,EXEC_TOTAL_NUM, EXEC_TOTAL_NUM AS VALUE_S, 'EXEC_TOTAL_NUM' AS VALUES_TYPE 
FROM BASTABLE WHERE COMMAND_TYPE<>47  AND SQL_FULL_TEXT NOT LIKE '/* SQL A%'  ORDER BY EXEC_TOTAL_NUM DESC ) WHERE ROWNUM <=5
UNION ALL 
SELECT * FROM 
(
SELECT SQL_FULL_TEXT,SQL_ID,EXEC_TOTAL_NUM, AVG_ELAPSED_TIME_SEC AS VALUE_S, 'PROCEDURES_EXEC_TIME' AS VALUES_TYPE 
FROM BASTABLE WHERE COMMAND_TYPE=47  AND SQL_FULL_TEXT NOT LIKE '/* SQL A%'  ORDER BY AVG_ELAPSED_TIME_SEC DESC ) WHERE ROWNUM <=5;


作者:ZengMuAnSha 发表于2014-6-20 9:19:13 原文链接
阅读:116 评论:0 查看评论

相关 [数据库 指标 top] 推荐:

获取数据库30天内各个指标的TOP语句

- - CSDN博客数据库推荐文章
要查询短时间内的可以从v$sql 或者是v$sqlarea 如果要查询一周或者一个月内 那么有可能在V$SQLAREA里找不到!下面是通过历史DBA_HIST_SQLSTAT里获得, 这个是通过快照方式保留下来的.. --执行时间最长的 WITH BASTABLE AS (. 作者:ZengMuAnSha 发表于2014-6-20 9:19:13 原文链接.

衡量企业应用数据库性能的6大指标

- - OneAPM 博客
【编者按】本文作者是 Omed Habib,在其职业生涯中花费了大量的时间不断探索一些新方法以提高大型 Web 应用的性能状况. 本篇文章中,作者详细介绍了数据库的六大性能指标,帮助我们更好对数据库性能进行评估和改进. 在前一篇文章中,我们曾对 SQL 和非 SQL 进行过简要介绍. 本文基于这些主题,通过回顾最重要的六个性能指标,帮助评估企业应用数据库的健康状况.

高效使用Top

- - 博客 - 伯乐在线
英文原文: Using Top More Efficiently,编译: oschina. 对桌面用户来说,监视系统资源使用是一项重要的工作. 通过这项工作,我们可以找到系统瓶颈所在,针对性的进行系统优化,识别内存泄露等. 问题是,我们应该用什么软件,以及如果针对我们的需求使用它. 在众多备选的监测工具中,多数人使用“top”(procps 包的一部分).

2010 年 Cydia 程序 Top 10

- yan - 爱范儿 · Beats of Bits
MacStories 评选出了 2010 年度 Cydia 商店上的 Top 10 ,这次入选的程序,都是今年内发布的,涵盖 iPhone 和 iPad 平台. “把 iOS 设备发挥到极致”是越狱开发者的初衷,如果你手上的设备越狱了,就一定要看看这些奇妙的程序. FullScren for Safari 自然是 iPhone 自带浏览器的全屏工具,它把浏览器的顶栏和底部按钮给隐藏起来.

数据库sharding

- - 数据库 - ITeye博客
当团队决定自行实现sharding的时候,DAO层可能是嵌入sharding逻辑的首选位置,因为在这个层面上,每一个DAO的方法都明确地知道需要访问的数据表以及查询参数,借助这些信息可以直接定位到目标shard上,而不必像框架那样需要对SQL进行解析然后再依据配置的规则进行路由. 另一个优势是不会受ORM框架的制约.

2010年度MSN签名Top 10

- gloomy - 爱体验 iTeeyan.COM
近日,微软中国MSN签名频道票选出了国内MSN签名Top 10. 这是自2007年以来,类似活动的第4次举办. 微软中国MSN签名频道是这样描述2010年的签名Top 10的:“在刚刚过去的2010年中,也许Messenger是伴随你每个工作日的工具. 短短的一句话,让它成为了我们内心世界的真实映照:过去的一年中,我们用签名档记下了能丰胸的奶粉;过去的一年中,我们的签名档声讨了嚣张的李刚;过去的一年中,我们的签名档上挂满了”艰难的决定”;过去的一年中,我们的签名档用俏皮的语言说出了我爱的就是她……2010年飘过,不管神马浮云,我们都会怀念它.

Vision Mobile:2001-2010 手机市场 Top 5

- Shanshan - 爱范儿 · Beats of Bits
自从 iPhone 和 Android 问世以来,手机市场便进入了一轮新的变革. 过去一些看似无法撼动的手机行业王者,在新的市场竞争中不断丧失领地,一些曾经 PC 行业的公司则以更加迅捷的反应加入到这场移动互联网的巨变之中. Vision Mobile 盘点了过去 10 年间位居前五位的手机制造厂商,让我们得以更加直观的了解这场变革.

2011年08月09日 糗事 TOP 10

- FlyFire - 糗事百科
世界上最悲催的事都叫我遇到了,多么狗血的生活. 05年谈了个对象,我们00年认识的. 07年到订婚了,结果他父母背着他跟我提要求,叫我给他家买套房,最好是复式楼,要么我家给他们家一套房,然后叫我跟我爸爸断绝关系(我是单亲家庭,我爸爸现在单身,他们怕我爸爸以后没有钱拖累我们),然后不要在本地工作,因为本地工资太少,去外地工作,工资不要花,给他妈寄过去.

2011年07月19日 糗事 TOP 10

- zgjie - 糗事百科
配种糗事,只想说那个种兔太敬业了……. 笑料百科  改编自糗事#1144606  . 武汉南京看海神马的都OUT了,今夏来青岛看草原吧. 腾讯说新还珠同时段收视第一,网友这么评论. 家有贱猫一只,喜欢放饮水机里的水,求助. 坑爹的“意外惊喜”,我还寻思垃圾桶能有个什么惊喜. 我同学看了几集新还珠后,实在忍不了了,关了电视,恶狠狠的说,衷心希望皇后和容嬷嬷弄死那两个…….

2011年07月10日 糗事 TOP 10

- . - 糗事百科
然后自我安慰说:肯定他们没想到我是女的,所以觉得意外了吧,多玩玩就熟了. 后来我才发现气氛不对不是这个原因. KTV在前台有那种点播的表白有没有. 我唱歌唱着唱着,MV下面滚动出一行小字:. “533房的XXX(我在游戏中的ID). 我们一起弄装备,一起下副本的日子真的很快乐. 看到这里,我还觉得很感动,刚想问问是谁和我告白呢.