查找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必知必会(二) null 和undefined
Jun 08 Javascript
很棒的Bootstrap选项卡切换效果
Jul 01 Javascript
js验证真实姓名与身份证号,手机号的简单实例
Jul 18 Javascript
js 实现数值的千分位及保存小数方法(推荐)
Aug 01 Javascript
JavaScript实现各种排序的代码详解
Aug 28 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
Sep 25 Javascript
解决select2在bootstrap modal中不能正常使用的问题
Aug 09 Javascript
Angular resolve基础用法详解
Oct 03 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
Jun 13 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
vue弹出框组件封装实例代码
Oct 31 Javascript
Vue自定义组件双向绑定实现原理及方法详解
Sep 03 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中的字符串函数
2006/11/24 PHP
PHP 常用数组内部函数(Array Functions)介绍
2013/06/05 PHP
浅析php与数据库代码开发规范
2013/08/08 PHP
CI框架给视图添加动态数据
2014/12/01 PHP
通过php动态传数据到highcharts
2017/04/05 PHP
PHP实现多图上传和单图上传功能
2018/05/17 PHP
Laravel框架Eloquent ORM简介、模型建立及查询数据操作详解
2019/12/04 PHP
jquery之empty()与remove()区别说明
2010/09/10 Javascript
js实时监听文本框状态的方法
2011/04/26 Javascript
js实现获取焦点后光标在字符串后
2014/09/17 Javascript
jquery实现动态操作select选中
2015/02/11 Javascript
Redis基本知识、安装、部署、配置笔记
2015/03/05 Javascript
浅谈javascript的分号的使用
2015/05/12 Javascript
Javascript编写2048小游戏
2015/07/07 Javascript
jQuery超简单选项卡完整实例
2015/09/26 Javascript
JS给Array添加是否包含字符串的简单方法
2016/10/29 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
基于jQuery实现Tabs选项卡自定义插件
2016/11/21 Javascript
分析JS单线程异步io回调的特性
2017/12/01 Javascript
JavaScrip关于创建常量的知识点
2017/12/07 Javascript
JavaScript实现微信红包算法及问题解决方法
2018/04/26 Javascript
[07:59]2014DOTA2叨叨刀塔 林熊猫称被邀请赛现场盛况震撼
2014/07/21 DOTA
[02:15]2014DOTA2国际邀请赛 赛后退役选手回顾
2014/08/01 DOTA
Python2.x中str与unicode相关问题的解决方法
2015/03/30 Python
python简单实现基于SSL的IRC bot实例
2015/06/15 Python
Python中optparser库用法实例详解
2018/01/26 Python
Python网络编程基于多线程实现多用户全双工聊天功能示例
2018/04/10 Python
Python将多个list合并为1个list的方法
2018/06/27 Python
Woods官网:加拿大最古老、最受尊敬的户外品牌之一
2020/09/12 全球购物
成龙霸王洗发水广告词
2014/03/14 职场文书
学校端午节活动方案
2014/08/23 职场文书
中班教师个人总结
2015/02/05 职场文书
创先争优活动个人总结
2015/03/04 职场文书
大学生党员自我评价
2015/03/04 职场文书
HTML5基础学习之文本标签控制
2022/03/25 HTML / CSS
Win10/Win11 任务栏替换成经典样式
2022/04/19 数码科技