查找Oracle高消耗语句的方法


Posted in Javascript onMarch 22, 2014

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

<span style="font-size:18px;">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</span>

将脚本输出内容保存到记事本txt中,并将记事本的后缀名更改为.html,这样就可以输出以下的网页内容:
查找Oracle高消耗语句的方法
Javascript 相关文章推荐
javascript 获取元素位置的快速方法 getBoundingClientRect()
Nov 26 Javascript
目前流行的JavaScript库的介绍及对比
Sep 29 Javascript
JavaScript中this关键词的使用技巧、工作原理以及注意事项
May 20 Javascript
使用AngularJS和PHP的Laravel实现单页评论的方法
Jun 19 Javascript
关于微信中a链接无法跳转问题
Aug 02 Javascript
微信小程序 form组件详解
Oct 25 Javascript
读Javascript高性能编程重点笔记
Dec 21 Javascript
AngularJS框架的ng-app指令与自动加载实现方法分析
Jan 04 Javascript
AngularJS实现使用路由切换视图的方法
Jan 24 Javascript
VUE预渲染及遇到的坑
Sep 03 Javascript
a标签调用js的方法总结
Sep 05 Javascript
Echarts在Taro微信小程序开发中的踩坑记录
Nov 09 Javascript
利用JavaScript检测CPU使用率自己写的
Mar 22 #Javascript
JSONP跨域的原理解析及其实现介绍
Mar 22 #Javascript
一个网页标题title的闪动提示效果实现思路
Mar 22 #Javascript
js获得网页背景色和字体色的方法
Mar 21 #Javascript
页面装载js及性能分析方法介绍
Mar 21 #Javascript
Js冒泡事件详解及阻止示例
Mar 21 #Javascript
js调用浏览器打印模块实现点击按钮触发自定义函数
Mar 21 #Javascript
You might like
Google Voice 短信发送接口PHP开源版(2010.5更新)
2010/07/22 PHP
phpStudy配置多站点多域名方法及遇到的403错误解决方法
2017/10/19 PHP
PHP网站常见安全漏洞,及相应防范措施总结
2021/03/01 PHP
JQuery Dialog的内存泄露问题解决方法
2010/06/18 Javascript
基于jQuery的倒计时插件代码
2011/05/07 Javascript
Jquery 过滤器(first,last,not,even,odd)的使用
2014/01/22 Javascript
javascript使用数组的push方法完成快速排序
2014/09/15 Javascript
基于NodeJS的前后端分离的思考与实践(一)全栈式开发
2014/09/26 NodeJs
js利用正则表达式检验输入内容是否为网址
2016/07/05 Javascript
js使用Replace结合正则替换重复出现的字符串功能示例
2016/12/27 Javascript
js实现简易垂直滚动条
2017/02/22 Javascript
jQuery.cookie.js使用方法及相关参数解释
2017/03/06 Javascript
Node.js使用cookie保持登录的方法
2018/05/11 Javascript
详解vue-cli3多环境打包配置
2019/03/28 Javascript
[06:16]第十四期-国士无双绝地翻盘之撼地神牛
2014/06/24 DOTA
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
你应该知道的python列表去重方法
2017/01/17 Python
Python验证文件是否可读写代码分享
2017/12/11 Python
Django自定义manage命令实例代码
2018/02/11 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
python画微信表情符的实例代码
2019/10/09 Python
python梯度下降算法的实现
2020/02/24 Python
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
怀旧收藏品和经典纪念品:Betty’s Attic
2018/08/29 全球购物
编程输出如下图形
2013/11/24 面试题
单位刻章介绍信范文
2014/01/11 职场文书
迟到检讨书5000字
2014/01/31 职场文书
小学生国庆节演讲稿
2014/09/05 职场文书
政府个人对照检查材料思想汇报
2014/10/08 职场文书
销售2014年度工作总结
2014/12/08 职场文书
2015年党风廉政建设工作总结
2015/04/09 职场文书
2015年乡镇人大工作总结
2015/04/22 职场文书
销区经理年终述职报告模板
2019/11/28 职场文书
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL
如何解决goland,idea全局搜索快捷键失效问题
2022/04/03 Golang
Win11跳过联网界面创建本地管理账户的3种方法
2022/04/20 数码科技