查找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 表单验证常见正则
Sep 28 Javascript
菜鸟javascript基础整理1
Dec 06 Javascript
jQuery代码优化 选择符篇
Nov 01 Javascript
在javascript中如何得到中英文混合字符串的长度
Jan 17 Javascript
简单实现的JQuery文本框水印插件
Jun 14 Javascript
BootStrap table表格插件自适应固定表头(超好用)
Aug 24 Javascript
基于node搭建服务器,写接口,调接口,跨域的实例
May 13 Javascript
AngularJS自定义过滤器用法经典实例总结
May 17 Javascript
vue-auto-focus: 控制自动聚焦行为的 vue 指令方法
Aug 25 Javascript
详解mpvue scroll-view自动回弹bug解决方案
Oct 01 Javascript
使用vue实现多规格选择实例(SKU)
Aug 23 Javascript
js实现计时器秒表功能
Dec 16 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
PHP的Socket网络编程入门指引
2015/08/11 PHP
php生成mysql的数据字典
2016/07/07 PHP
js 页面刷新location.reload和location.replace的区别小结
2009/12/24 Javascript
javascript 二维数组的实现与应用
2010/03/16 Javascript
情人节专属 纯js脚本1k大小的3D玫瑰效果
2012/02/11 Javascript
js window.print实现打印特定控件或内容
2013/09/16 Javascript
jquery实现焦点图片随机切换效果的方法
2015/03/12 Javascript
浅谈JavaScript中运算符的优先级
2015/07/07 Javascript
jQuery中(function($){})(jQuery)详解
2015/07/15 Javascript
基于JQuery实现的跑马灯效果(文字无缝向上翻动)
2016/12/02 Javascript
解析微信JS-SDK配置授权,实现分享接口
2016/12/09 Javascript
Bootstrap3 模态框使用实例
2017/02/22 Javascript
jQuery选择器_动力节点Java学院整理
2017/07/05 jQuery
关于Ajax的原理以及代码封装详解
2017/09/08 Javascript
使用JS获取页面上的所有标签
2018/10/18 Javascript
基于vue通用表单解决方案的思考与分析
2019/03/16 Javascript
JS中的算法与数据结构之字典(Dictionary)实例详解
2019/08/20 Javascript
Vue使用自定义指令实现拖拽行为实例分析
2020/06/06 Javascript
openlayers实现图标拖动获取坐标
2020/09/25 Javascript
[01:19:46]EG vs Secret 2019国际邀请赛淘汰赛 胜者组 BO3 第二场 8.21.mp4
2020/07/19 DOTA
python获取当前用户的主目录路径方法(推荐)
2017/01/12 Python
Selenium的使用详解
2018/10/19 Python
Python面向对象之类和对象属性的增删改查操作示例
2018/12/14 Python
利用Python的sympy包求解一元三次方程示例
2019/11/22 Python
Python中if有多个条件处理方法
2020/02/26 Python
CSS3 animation ? steps 函数详解
2019/08/30 HTML / CSS
伦敦一家领先的精品零售商:IRIS Fashion
2019/05/24 全球购物
计算机应用毕业生自荐信
2013/10/23 职场文书
企业给企业的表扬信
2014/01/13 职场文书
最新奶茶店创业计划书范文
2014/02/08 职场文书
服务型党组织建设典型材料
2014/05/07 职场文书
机械操作工岗位职责
2014/08/08 职场文书
镇创先争优活动总结
2014/08/28 职场文书
整改通知书格式
2015/04/22 职场文书
Python Pandas pandas.read_sql函数实例用法
2021/06/21 Python
nginx之内存池的实现
2022/06/28 Servers