查找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 相关文章推荐
jQuery使用一个按钮控制图片的伸缩实现思路
Apr 19 Javascript
javascript事件模型实例分析
Jan 30 Javascript
jQuery formValidator表单验证
Jan 07 Javascript
javaScript生成支持中文带logo的二维码(jquery.qrcode.js)
Jan 03 Javascript
Iscrool下拉刷新功能实现方法(推荐)
Jun 26 Javascript
node作为中间服务层如何发送请求(发送请求的实现方法详解)
Jan 02 Javascript
Js 利用正则表达式和replace函数获取string中所有被匹配到的文本(推荐)
Oct 28 Javascript
实例讲解vue源码架构
Jan 24 Javascript
微信小程序实现批量倒计时功能
Nov 01 Javascript
微信小程序scroll-view的滚动条设置实现
Mar 02 Javascript
JavaScript位置参数实现原理及过程解析
Sep 14 Javascript
Bootstrap FileInput实现图片上传功能
Jan 28 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
yii实现model添加默认值的方法(2种方法)
2016/01/06 PHP
PHP的Yii框架中创建视图和渲染视图的方法详解
2016/03/29 PHP
php利用云片网实现短信验证码功能的示例代码
2017/11/18 PHP
Prototype中dom对象方法汇总
2008/09/17 Javascript
js动态创建标签示例代码
2014/06/09 Javascript
JS+CSS实现仿新浪微博搜索框的方法
2015/02/24 Javascript
JavaScript对象数组的排序处理方法
2015/10/21 Javascript
nodejs操作mysql实现增删改查的实例
2017/05/28 NodeJs
Seajs源码详解分析
2019/04/02 Javascript
微信小程序日历弹窗选择器代码实例
2019/05/09 Javascript
微信小程序下拉加载和上拉刷新两种实现方法详解
2019/09/05 Javascript
vue2.0 解决抽取公用js的问题
2020/07/31 Javascript
浅谈vue websocket nodeJS 进行实时通信踩到的坑
2020/09/22 NodeJs
[32:47]完美世界DOTA2联赛 GXR vs IO 第二场 11.07
2020/11/09 DOTA
详细解读Python中解析XML数据的方法
2015/10/15 Python
机器学习的框架偏向于Python的13个原因
2017/12/07 Python
Django 连接sql server数据库的方法
2018/06/30 Python
python使用selenium实现批量文件下载
2019/03/11 Python
python实现栅栏加解密 支持密钥加密
2019/03/20 Python
Python列表对象实现原理详解
2019/07/01 Python
Python Web框架之Django框架Form组件用法详解
2019/08/16 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
2020/01/04 Python
Python统计文本词汇出现次数的实例代码
2020/02/27 Python
Python装饰器实现方法及应用场景详解
2020/03/26 Python
如何在python中处理配置文件代码实例
2020/09/27 Python
Python实现邮件发送的详细设置方法(遇到问题)
2021/01/18 Python
英国女士和男士时尚服装网上购物:Top Labels Online
2018/03/25 全球购物
TripAdvisor台湾:全球最大旅游网站
2018/08/26 全球购物
来自世界上最好大学的在线课程:edX
2018/10/16 全球购物
夜大自我鉴定
2013/10/31 职场文书
员工年终演讲稿
2014/01/03 职场文书
英文求职信写作小建议
2014/02/16 职场文书
工商局局长个人对照检查材料思想汇报
2014/09/23 职场文书
2014年小学教师工作总结
2014/11/10 职场文书
幼儿教师三分钟演讲稿
2019/06/21 职场文书
python中super()函数的理解与基本使用
2021/08/30 Python