查找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 相关文章推荐
屏蔽F1~F12的快捷键的js函数
May 06 Javascript
给Flash加一个超链接(推荐使用透明层)兼容主流浏览器
Jun 09 Javascript
原生JS实现表单checkbook获取已选择的值
Jul 21 Javascript
JavaScript 函数惰性载入的实现及其优点介绍
Aug 12 Javascript
判断某个字符在一个字符串中是否存在的js代码
Feb 28 Javascript
js实现向右横向滑出的二级菜单效果
Aug 27 Javascript
详解Angular开发中的登陆与身份验证
Jul 27 Javascript
Node.js学习教程之HTTP/2服务器推送【译】
Oct 31 Javascript
详解Angular中通过$location获取地址栏的参数
Aug 02 Javascript
vue项目前端错误收集之sentry教程详解
May 27 Javascript
基于js实现复制内容到操作系统粘贴板过程解析
Oct 11 Javascript
vue 返回上一页,页面样式错乱的解决
Nov 14 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
解析ajax事件的调用顺序
2013/06/17 PHP
php+memcache实现的网站在线人数统计代码
2014/07/04 PHP
Yii2实现log输出到file及database的方法
2016/11/12 PHP
JavaScript 无符号右移运算符
2009/04/17 Javascript
Jquery乱码的一次解决过程 图解教程
2010/02/20 Javascript
基于jquery的bankInput银行卡账号格式化
2012/08/22 Javascript
使用微信内置浏览器点击下拉框出现页面乱跳转现象(iphone),该怎么办
2016/01/04 Javascript
JS实现兼容各种浏览器的获取选择文本的方法【测试可用】
2016/06/21 Javascript
基于JavaScript实现前端文件的断点续传
2016/10/17 Javascript
浅析 NodeJs 的几种文件路径
2017/06/07 NodeJs
修改vue+webpack run build的路径方法
2018/09/01 Javascript
vue单文件组件lint error自动fix与styleLint报错自动fix详解
2019/01/08 Javascript
解决vue+webpack项目接口跨域出现的问题
2020/08/10 Javascript
vscode 调试 node.js的方法步骤
2020/09/15 Javascript
图解JS原型和原型链实现原理
2020/09/15 Javascript
Python中的元类编程入门指引
2015/04/15 Python
使用Python下的XSLT API进行web开发的简单教程
2015/04/15 Python
在centos7中分布式部署pyspider
2017/05/03 Python
Python处理命令行参数模块optpars用法实例分析
2018/05/31 Python
python爬虫之urllib3的使用示例
2018/07/09 Python
python实现键盘控制鼠标移动
2020/11/27 Python
python 绘制拟合曲线并加指定点标识的实现
2019/07/10 Python
python opencv 简单阈值算法的实现
2019/08/04 Python
python GUI库图形界面开发之PyQt5窗口控件QWidget详细使用方法
2020/02/26 Python
pandas.DataFrame.drop_duplicates 用法介绍
2020/07/06 Python
HTML5对比HTML4的主要改变和改进总结
2016/05/27 HTML / CSS
Canvas多边形绘制的实现方法
2019/08/05 HTML / CSS
《泉水》教学反思
2014/04/11 职场文书
大学理论知识学习自我鉴定
2014/04/28 职场文书
优秀少先队员主要事迹材料
2014/05/28 职场文书
意外伤害赔偿协议书范本
2014/09/28 职场文书
企业与个人合作经营协议书
2014/11/01 职场文书
表扬稿格式范文
2015/01/16 职场文书
授权委托书
2015/01/28 职场文书
centos8安装MongoDB的详细过程
2021/10/24 MongoDB
Nginx流量拷贝ngx_http_mirror_module模块使用方法详解
2022/04/07 Servers