[20230419]关于sqlhh.sql执行脚本的一些说明.txt --//有朋友反映类似的问题,我写的blog引用许多脚本,我并没有提供源代码。 --//主要有几个原因: 1.有一些脚本我不提供,你看文章自己也很容易写出对应脚本,而且有一些脚本写的很烂,我自己都不好意思贴出来。 我开始学习oracle时非常不喜欢在sqlplus下工作,太麻烦了。大部分操作都是在toad下运行,慢慢我发现有时候还只能在sqlplus下工作。 我以前将全部脚本写在一个文件里面,使用时就拷贝和粘贴到sqlplus下,这样很容易出错,而且有一些带有参数,操作也不方便。 慢慢我将这些脚本写入文件,平时也注意收集别人写的一些脚本,然后逐步完善改进这些脚本。很长一段时间我工作解决问题都是使用自 己写的脚本。 2.后来我发现一些blog,经常出现和使用tanelpoder tpt脚本,我开始也就是集中在ashtop之类的脚本使用上。而且毕竟不是自己写的, 选择tpt的脚本,你给知道执行做什么的内容,总不能顺便拿来就执行。 2020年末,主要疫情的原因,我开始系统学习与使用tpt脚本,也根据自己的需要改动一些脚本,这样更加顺手一些,也能很大的提高工 作效率。 以后我会尽可能使用tanelpoder tpt脚本,减少自己编写脚本的使用量。自己写的脚本尽可能贴出源代码。 最后顺便解答sqlhh.sql脚本的问题,实际上调用的就是tpt脚本awr/awr_sqlstats_per_exec.sql. 名字有点长,我自己又ln建立一个sqlh.sql副本表示sql history的意思(注后来我发现tpt目录下也有一个sqlh.sql脚本)。 然后我在tpt目录建立sqlhh.sql脚本: $ cd awr $ ln awr_sqlstats_per_exec.sql sqlh.sql $ cd .. --//建立sqlhh.sql,内容如下: $ vi sqlhh.sql $ cat sqlhh.sql prompt prompt time unit : millisecond prompt @awr/sqlh &1 % sysdate-&&2 sysdate --//顺便附上awr/awr_sqlstats_per_exec.sql的内容: $ cat awr/awr_sqlstats_per_exec.sql -- Copyright 2018 Tanel Poder. All rights reserved. More info at http://tanelpoder.com -- Licensed under the Apache License, Version 2.0. See LICENSE.txt for terms & conditions. -- awr_sqlstats_per_exec v1.01 SET TERMOUT OFF pagesize 5000 tab off verify off linesize 999 trimspool on trimout on null "" SET TERMOUT ON COL executions FOR 99999990 COL ela_ms_per_exec FOR 99999990 COL rows_per_exec FOR 99999990.0 COL lios_per_exec FOR 99999990 COL blkrd_per_exec FOR 99999990 COL cpu_ms_per_exec FOR 99999990 COL iow_ms_per_exec FOR 99999990 COL avg_iow_ms FOR 99999990.0 COL clw_ms_per_exec FOR 99999990 COL apw_ms_per_exec FOR 99999990 COL ccw_ms_per_exec FOR 99999990 -- You can configure output column precision here -- COL executions FOR 99999990.0 -- COL ela_ms_per_exec FOR 99999990.0 -- COL rows_per_exec FOR 99999990.0 -- COL lios_per_exec FOR 99999990.0 -- COL blkrd_per_exec FOR 99999990.0 -- COL cpu_ms_per_exec FOR 99999990.0 -- COL iow_ms_per_exec FOR 99999990.0 -- COL avg_iow_ms FOR 99999990.0 -- COL clw_ms_per_exec FOR 99999990.0 -- COL apw_ms_per_exec FOR 99999990.0 -- COL ccw_ms_per_exec FOR 99999990.0 SELECT CAST(begin_interval_time AS DATE) begin_interval_time , st.instance_number inst_id , sql_id , plan_hash_value , SUM(executions_delta) executions , ROUND(SUM(elapsed_time_delta ) / DECODE(SUM(executions_delta),0,1,SUM(executions_delta))/1000) ela_ms_per_exec , ROUND(SUM(cpu_time_delta ) / DECODE(SUM(executions_delta),0,1,SUM(executions_delta))/1000) cpu_ms_per_exec , ROUND(SUM(rows_processed_delta) / DECODE(SUM(executions_delta),0,1,SUM(executions_delta)),1) rows_per_exec , ROUND(SUM(buffer_gets_delta ) / DECODE(SUM(executions_delta),0,1,SUM(executions_delta)),1) lios_per_exec , ROUND(SUM(disk_reads_delta ) / DECODE(SUM(executions_delta),0,1,SUM(executions_delta)),1) blkrd_per_exec , ROUND(SUM(iowait_delta ) / DECODE(SUM(executions_delta),0,1,SUM(executions_delta))/1000) iow_ms_per_exec , ROUND(SUM(iowait_delta ) / DECODE(SUM(physical_read_requests_delta)+SUM(physical_write_requests_delta),0,1 ,SUM(physical_read_requests_delta)+SUM(physical_write_requests_delta))/1000,1) avg_iow_ms , ROUND(SUM(clwait_delta ) / DECODE(SUM(executions_delta),0,1,SUM(executions_delta))/1000) clw_ms_per_exec , ROUND(SUM(apwait_delta ) / DECODE(SUM(executions_delta),0,1,SUM(executions_delta))/1000) apw_ms_per_exec , ROUND(SUM(ccwait_delta ) / DECODE(SUM(executions_delta),0,1,SUM(executions_delta))/1000) ccw_ms_per_exec -- , ROUND(SUM(elapsed_time_delta - cpu_time_delta - iowait_delta - clwait_delta - apwait_delta - ccwait_delta) / DECODE(SUM(executions_delta),0,1,SUM(executions_delta)) / 1000, 1) oth_ms_per_exec FROM dba_hist_snapshot sn , dba_hist_sqlstat st WHERE sn.snap_id = st.snap_id AND sn.dbid = st.dbid AND sn.instance_number = st.instance_number AND sql_id = '&1' AND plan_hash_value LIKE '&2' AND begin_interval_time >= &3 AND end_interval_time <= &4 AND (elapsed_time_delta != 0 AND cpu_time_delta != 0) GROUP BY CAST(begin_interval_time AS DATE) , sql_id , plan_hash_value , st.instance_number ORDER BY begin_interval_time , sql_id , plan_hash_value /
[20230419]关于sqlhh.sql执行脚本的一些说明.txt
来源:这里教程网
时间:2026-03-03 18:44:53
作者:
编辑推荐:
下一篇:
相关推荐
-
雷神推出 MIX PRO II 迷你主机:基于 Ultra 200H,玻璃上盖 + ARGB 灯效
2 月 9 日消息,雷神 (THUNDEROBOT) 现已宣布推出基于英
-
制造商 Musnap 推出彩色墨水屏电纸书 Ocean C:支持手写笔、第三方安卓应用
2 月 10 日消息,制造商 Musnap 现已在海外推出一款 Oce
热文推荐
- 服务器中了malox勒索病毒勒索病毒,勒索病毒解密数据恢复
服务器中了malox勒索病毒勒索病毒,勒索病毒解密数据恢复
26-03-03 - 安科瑞电容在箱式变电站的应用
安科瑞电容在箱式变电站的应用
26-03-03 - 以智能电力仪表为基础的电能管理系统
以智能电力仪表为基础的电能管理系统
26-03-03 - Oracle 23c安装建议
Oracle 23c安装建议
26-03-03 - 以智能电表为基础的电力监控系统的应用
以智能电表为基础的电力监控系统的应用
26-03-03 - 小家电遇冷,苏泊尔、九阳、小熊电器求变
小家电遇冷,苏泊尔、九阳、小熊电器求变
26-03-03 - 透过金瑞基金一季度运营报告,看满帮创新故事背后的长期价值
透过金瑞基金一季度运营报告,看满帮创新故事背后的长期价值
26-03-03 - oracle rac+adg调整redo日志组导致adg备库ogg抽取进程abend
- 马达监控系统能实现哪些功能?
马达监控系统能实现哪些功能?
26-03-03 - 服务器中了勒索病毒,用友nc软件系统被loced1勒索病毒攻击后怎么办?
服务器中了勒索病毒,用友nc软件系统被loced1勒索病毒攻击后怎么办?
26-03-03
