当前位置: 首页 > news >正文

批量获取oracle的AWR报告方法

awr快照默认每小时抓取1次,生成awr报告则通常时间跨度为1小时,如果想看1天的每小时的awr则需要手工一个个生成,选择开始快照号和截止快照号,可考虑用以下方法批量生成。

先查看当前有哪些时间的快照

set linesize 300
col snap_id for 99999999
col dbid for 99999999999
col startup_time for a20
col begin_interval_time for a20
col end_interval_time for a25
alter session set NLS_TIMESTAMP_FORMAT='yyyy-mm-dd hh24:mi:ss';
select dbid,instance_number inst_id,snap_id,begin_interval_time,end_interval_time,startup_time
from dba_hist_snapshot order by 1,2,3;

在这里插入图片描述
脚本内容如下:

--------------------------------------------------------------------------------
/*
set linesize 300
col snap_id for 99999999
col dbid for 99999999999
col startup_time for a20
col begin_interval_time for a20
col end_interval_time for a25
alter session set NLS_TIMESTAMP_FORMAT='yyyy-mm-dd hh24:mi:ss';
select dbid,instance_number inst_id,snap_id,begin_interval_time,end_interval_time,startup_time
from dba_hist_snapshot order by 1,2,3;
*/
-- 用法:       
--     @awrbatch <dbid> <instance_num> <start_snap> <end_snap>
--
-- 示例:
--     @awrbatch 2580850603 1 32302 32310
--
--------------------------------------------------------------------------------
set serveroutput on
set feedback offdeclarev_dbid            number;v_instance        number;v_b_id            number;v_e_id            number;v_code            number;v_errm            varchar2(300);v_sql             varchar2(300);v_html            varchar2(20000);cur_awrrpt_html   SYS_REFCURSOR;cur_snapshot      SYS_REFCURSOR;fileID            utl_file.file_type;v_filename        varchar2(30);v_snap_id         number;v_startup_time    timestamp(3);v_begin_snap_time timestamp(3);v_end_snap_time   timestamp(3);v_dpath           varchar2(60);
beginv_dbid     := &1;v_instance := &2;v_b_id     := &3;v_e_id     := &4;dbms_output.put_line(chr(13) || chr(10) || 'awrrpt report files:');for k in v_b_id .. v_e_id - 1 loopv_filename := 'awr_' || v_instance || '_' || k || '_' || (k + 1) ||'.html';fileID     := utl_file.fopen('DATA_PUMP_DIR', v_filename, 'a', 32767);v_sql      := 'select output from table(dbms_workload_repository.awr_report_html(' ||v_dbid || ',' || v_instance || ',' || k || ',' || (k + 1) ||',8))';open cur_awrrpt_html for v_sql;loopexit when cur_awrrpt_html%notfound;fetch cur_awrrpt_html  into v_html;utl_file.put_line(fileID, v_html);end loop;utl_file.fclose(fileID);execute immediate 'select directory_path from dba_directories where directory_name=:dname' into v_dpath using 'DATA_PUMP_DIR';dbms_output.put_line(v_dpath || v_filename);end loop;
exceptionwhen others thenv_code := SQLCODE;v_errm := SQLERRM;dbms_output.put_line('ERROR CODE ' || v_code || ':' || v_errm);
end;
/

生成的报告会输出到目录下

select directory_path from dba_directories where directory_name='DATA_PUMP_DIR';

在这里插入图片描述

http://www.dtcms.com/a/410261.html

相关文章:

  • docker jenkins gitlab 流水线构建
  • MySQL 配置调优参数:从基础到生产级优化指南
  • 旅游网站设计模板cdr里做网站超级链接
  • TypeScript + React + Ant Design 前端架构入门:搭建一个 Flask 个人博客前端
  • 小九源码-springboot051-智能推荐旅游平台
  • 网站建设面试问题网站建设 学习 长沙
  • 【云原生】openebs-device+cstor存储方案部署
  • 破译古籍密码,HisDoc-DETR论文解读
  • Kafka 面试题及详细答案100道(66-80)-- 运维与部署
  • 衡阳网站优化公司个人网站可以做音乐吗
  • 怎么iis设置网站太原网站建设外包
  • UVa1008/LA2240 A Vexing Problem
  • 如何利用Yarn定位数据倾斜问题?
  • 开源 C# 快速开发(四)自定义控件--波形图
  • javaweb3【ServletContext知识】
  • Java 复制 PowerPoint 幻灯片:高效实现演示文稿内容复用
  • ⸢ 陆 ⸥ ⤳ 可信纵深防御:整体架构
  • 医疗数据ETL开发流程总结
  • 网站制作多久能完成泰州做网站需要多少钱
  • 【汽车篇】AI深度学习在汽车零部件外观检测——铝铸件中的应用
  • Unity 虚拟仿真实验中设计模式的使用 ——工厂模式(Factory Pattern)
  • 网站备案初审过了企业信息门户网站建设方案
  • 【力扣LeetCode】231_2的幂(法1:循环迭代,法2:位运算)
  • 【便宜整数正分解】2022-11-23
  • hive连不上,报错9000拒绝连接
  • 力扣hot100 | 多维动态规划 | 62. 不同路径、64. 最小路径和、5. 最长回文子串、1143. 最长公共子序列、72. 编辑距离
  • 构建生产级多模态数据集:视觉与视频模型(参照LLaVA-OneVision-Data和VideoChat2)
  • 《策略模式在电商系统中的优雅应用:重构你的折扣计算逻辑》
  • 网站界面设计内容做外贸网站哪里好
  • ValueError: Expecting value: line 1 column 1 (char 0)