查找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 Excel操作知识点
Apr 24 Javascript
jQuery中slice()方法用法实例
Jan 07 Javascript
jQuery通过deferred对象管理ajax异步
May 20 Javascript
JavaScript随机生成颜色的方法
Oct 15 Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
Dec 04 Javascript
设置jquery UI 控件的大小方法
Dec 12 Javascript
bootstrap多种样式进度条展示
Dec 20 Javascript
Bootstrap和Java分页实例第二篇
Dec 23 Javascript
基于vue2.0+vuex+localStorage开发的本地记事本示例
Feb 28 Javascript
javascript中一些奇葩的日期换算方法总结
Nov 14 Javascript
Javascript操作select控件代码实例
Feb 14 Javascript
基于vue hash模式微信分享#号的解决
Sep 07 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/25 PHP
ThinkPHP中pathinfo的访问模式、路径访问模式及URL重写总结
2014/08/23 PHP
Ubuntu下安装PHP的mongodb扩展操作命令
2015/07/04 PHP
PHP实现无限级分类(不使用递归)
2015/10/22 PHP
两种php实现图片上传的方法
2016/01/22 PHP
PHP弱类型的安全问题详细总结
2016/09/25 PHP
php post换行的方法
2020/02/03 PHP
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
Js实现手机发送验证码时按钮延迟操作
2014/06/20 Javascript
jQuery实现切换页面过渡动画效果
2015/10/29 Javascript
D3.js实现雷达图的方法详解
2016/09/22 Javascript
JS/HTML5游戏常用算法之碰撞检测 像素检测算法实例详解
2018/12/12 Javascript
JavaScript实现连连看连线算法
2019/01/05 Javascript
详解element-ui日期时间选择器的日期格式化问题
2019/04/08 Javascript
更优雅的微信小程序骨架屏实现详解
2019/08/07 Javascript
JS立即执行的匿名函数用法分析
2019/11/04 Javascript
vue 实现购物车总价计算
2019/11/06 Javascript
vue中的使用token的方法示例
2020/03/10 Javascript
Postman如何实现参数化执行及断言处理
2020/07/28 Javascript
Python网页解析利器BeautifulSoup安装使用介绍
2015/03/17 Python
Python编程实战之Oracle数据库操作示例
2017/06/21 Python
Django如何配置mysql数据库
2018/05/04 Python
python中pip的安装与使用教程
2018/08/10 Python
python实现推箱子游戏
2020/03/25 Python
python http基本验证方法
2018/12/26 Python
Python3 pickle对象串行化代码实例解析
2020/03/23 Python
基于python纯函数实现井字棋游戏
2020/05/27 Python
OpenCV 之按位运算举例解析
2020/06/19 Python
全球高级音频和视频专家:HiDef Lifestyle
2019/08/02 全球购物
机修工工作职责
2014/02/21 职场文书
大型演出策划方案
2014/05/28 职场文书
机关党员公开承诺书
2014/08/30 职场文书
教师作风建设剖析材料
2014/10/11 职场文书
用人单位聘用意向书
2015/05/11 职场文书
2015年度内部审计工作总结
2015/05/20 职场文书
2019年大学推荐信
2019/06/24 职场文书