经验丰富的老员工希望能够每天为数据库生成1个AWR报告,以便于后期分析数据库的性能变化,手动生成太麻烦,查了一下资料,发现可以自动生成,过程如下。

数据库环境:11gR2 RAC(双节点)

AWR报告:由于是RAC数据库,希望生成每个节点的报告及全局报告,时间段为:第一天的0点~第二天的0点。

(1)在oracle服务器上创建路径

server2$[/home/oracle]mkdir awrreport

(2)创建directory并授权(使用sys账户执行)

create or replace directory DIR_AWRREPORT as '/home/oracle/awrreport';

grant read,write on directory DIR_AWRREPORT to mydba; -- mydba为具有dba权限的用户

grant select on v_$database to mydba;

grant select on dba_hist_snapshot to mydba;

grant execute on sys.dbms_workload_repository to mydba;

(3)编写脚本(使用监控账户mydba执行)

CREATE OR REPLACE PROCEDURE auto_awrreport

AS

/*

用途 :自动生成AWR报告

创建人 :gegeman

创建日期:2017-12-08

*/

start_snap number;

end_snap number;

rpt_interval number := 24; --报告间隔(小时)

start_time varchar2(14);

end_time varchar2(14);

awr_file utl_file.file_type;

v_dbid number;

v_dbname varchar2(20);

begin

--确定数据库名称与id

select dbid,name into v_dbid,v_dbname from v$database;

---查询起始的快照id

select max(snap_id) into end_snap from dba_hist_snapshot;

start_snap := end_snap-rpt_interval;

---格式化快照时间

select to_char(end_interval_time-rpt_interval/24, 'yyyymmddhh24'),to_char(end_interval_time, 'yyyymmddhh24')

into start_time,end_time

from dba_hist_snapshot

where snap_id = end_snap and instance_number = 1;

--实例1报告

awr_file := utl_file.fopen('DIR_AWRREPORT',lower(v_dbname)||'_1_'||start_time||'_'||end_time||'.html', 'a',32767);

for awr_info in (select output from table(dbms_workload_repository.awr_report_html(v_dbid,1,start_snap,end_snap,0))) loop

UTL_FILE.put_line(awr_file,awr_info.output);

end loop;

utl_file.fclose(awr_file);

--实例2报告

awr_file := utl_file.fopen('DIR_AWRREPORT',lower(v_dbname)||'_2_'||start_time||'_'||end_time||'.html', 'a',32767);

for awr_info in (select output from table(dbms_workload_repository.awr_report_html(v_dbid,2,start_snap,end_snap,0))) loop

UTL_FILE.put_line(awr_file,awr_info.output);

end loop;

utl_file.fclose(awr_file);

--全局报告

awr_file := utl_file.fopen('DIR_AWRREPORT',lower(v_dbname)||'_global_'||start_time||'_'||end_time||'.html', 'a',32767);

for awr_info in (select output from table(dbms_workload_repository.awr_global_report_html(l_dbid => v_dbid,l_inst_num => '',l_bid => start_snap,l_eid => end_snap,l_options => 0))) loop

UTL_FILE.put_line(awr_file,awr_info.output);

end loop;

utl_file.fclose(awr_file);

end auto_awrreport;

(4)授予监控用户执行procedure权限(使用sys账户)

grant execute on mydba.auto_awrreport to mydba;

(5)创建job,每天晚上12:30执行(监控账户)

declare

job1 number;

begin

sys.dbms_job.submit(job => job1,

what => 'auto_awrreport;',

next_date => sysdate,

interval => 'TRUNC(SYSDATE+1) + 30/(24*60)',

instance => 2

);

end;

SHELL脚本学习-自动生成AWR报告

自动生成AWR报告,每个小时生成一次. #编辑脚本:vim awr_auto.sh #oracle用户下执行 #!/bin/bash # 每个小时执行一次,自动生成AWR报告 source ~/.ba ...

自动生成AWR报告

--自动生成AWR报告 -------------------2013/09/23   脚本代码:   #!/bin/bash   AWR_FORMAT=html NUM_DAYS=1   MAX_S ...

oracle中如何生成awr报告

oracle中如何生成awr报告   1.进入数据库 sqlplus / as sysdba 2.查看用户 show parameter db_name 3.开始压测后执行 exec DBMS_WOR ...

一个自动生成awr报告的shell脚本

最近在学习shell编程,搞一点点小工具自动完成awr报告的收集工作,方便系统出现问题时问题排查.脚本内容如下,系统收集每天开始时间6点结束时间20点的awr报告并存储在/u01/shell_t/aw ...

oracle rac自动生成awr

cat awr.sql ######EXEC P_AWR_REPORT('201604251000', '201604251100', 'D_OUTPUT', '', FALSE); FALSE为ra ...

oracle生成AWR报告方法

2018-04-02 19:59:42 在10g 11g中AWR自动的每隔一小时进行一次数据采集并生成快照.下面是生成AWR报告的步骤: 1:使用oracle用户在数据库服务器上执行如下命令 sqlp ...

windows主机上ORACLE生成awr报告的步骤

oracle数据库是一个大型的关系型数据库,那么如果有一天装载数据库的主机由于大量的IO操作导致主机cpu荷载超过100%会使得主机卡顿或者对数据库连接或者进行数据库进行正常的IO操作都会产生影响,所 ...

ORACLE AWR概述及生成AWR报告

1.Overview of the Automatic Workload Repository The Automatic Workload Repository (AWR) collects, pr ...

oracle手工生成AWR报告方法记录

AWR(Automatic Workload Repository)报告是我们进行日常数据库性能评定.问题SQL发现的重要手段.熟练掌握AWR报告,是做好开发.运维DBA工作的重要基本功. AWR报告 ...

随机推荐

6.数组和Hash表

当显示多条结果时,存储在变量中非常智能,变量类型会自动转换为一个数组. 在下面的例子中,使用GetType()可以看到$a变量已经不是我们常见的string或int类型,而是Object类型,使用-i ...

深入学习jQuery选择器系列第二篇——过滤选择器之子元素选择器

× 目录 [1]通用形式 [2]反向形式 [3]首尾元素 [4]唯一元素 前面的话 在上一篇中已经介绍过基础选择器和层级选择器,本文开始介绍过滤选择器.过滤选择器是jQuery选择器中最为庞大也是最为 ...

基于cmake编译安装MySQL-5.5

cmake的重要特性之一是其独立于源码(out-of-source)的编译功能,即编译工作可以在另一个指定的目录中而非源码目录中进行,这可以保证源码目录不受任何一次编译的影响,因此在同一个源码树上可以 ...

【Unity3D基础教程】给初学者看的Unity教程(二):所有脚本组件的基类 -- MonoBehaviour的前世今生

作者:王选易,出处:http://www.cnblogs.com/neverdie/ 欢迎转载,也请保留这段声明.如果你喜欢这篇文章,请点[推荐].谢谢! 引子 上一次我们讲了GameObject,C ...

Hyperion Essbase BusinessRule 函数学习--2

@AVG Returns the average of all values in expList. [返回表达式列表的平均值] Syntax @AVG (SKIPNONE | SKIPMISSING ...

Selenuim+Python之元素定位总结及实例说明

网页自动化最基本的要求就是要定位到各个元素,然后才能对该元素进行各种操作(输入,点击,清除,提交等),所以笔者今天来总结下Selenuim+Python最基本的几种定位方式及实例说明,希望能帮助到大家 ...

mutex和CRITICAL_SECTION,互斥和临界区

本文不没有任何知识可讲,只是帖上自己测试的结果. 想看底层原理的可以直接关闭. 不过对于急着要选方案的人,倒提供一些帮助. 先说一些无关紧要的废话: ========================= ...

java对象与map对象相互转换

/** * 使用org.apache.commons.beanutils进行转换 */ class A { public static Object mapToObject(Map

正交表和TCG的使用

正交表法是一种有效减少测试用例个数的设计方法. 正交表法的依据是Galois理论,从大量的实验数据中挑选适量的.有代表性的点,从而合理的安排实验的一种科学实验设计方法.在测试用例的设计中,可以从大量的 ...

Springmvc的拦截器执行顺序及各方法作用

实现HandlerInterceptor接口或者继承HandlerInterceptor的子类,比如Spring 已经提供的实现了HandlerInterceptor 接口的抽象类HandlerInt ...

oracle awr 定期,Oracle 每天自动生成AWR报告相关推荐

  1. oracle AWR HTML,自动生成AWR HTML报告

    自动生成AWR HTML报告 -- ---------------------------------------------------------------------------------- ...

  2. 推荐一款免费报表工具,一键自动生成分析报告

    混迹职场多年,你是否曾经惊叹别人是如何做到在短时间内完成海量的交付件,并且PPT里面的文字和图表对得整整齐齐,甚至于一个像素都不差,在翻页的时候,除了局部的内容不一样,你竟然感觉不到其他部分有任何变化 ...

  3. 用Python自动生成数据分析报告

    公众号后台回复"图书",了解更多号主新书内容 作者:林骥 来源:林骥 很多时候,我们需要做一些重复性的工作,比如说,每个月制作类似的数据分析报告,整个框架是基本固定的,此时,我们可 ...

  4. 用Python自动生成数据分析报告!

    来源:林骥 你好,我是林骥. 很多时候,我们需要做一些重复性的工作,比如说,每个月制作类似的数据分析报告,整个框架是基本固定的,此时,我们可以采用 Python 来自动生成数据分析报告,把更多的时间和 ...

  5. 一篇文章告诉你如何在报表系统中实现自动生成Word报告

    点击获取ActiveReports v14.0最新版下载 在报表系统中,生成Word报告的常见步骤分为以下四步:采集原始数据.值后台传递.生成最终报告模板.实现打印和预览.可见,系统在生成报告之前,需 ...

  6. python自动生成word报告

    python自动生成word报告 运用zipfile解压docx并替换模版内容 本文章主要介绍根据所提供的word模版,运用python zipfile库将word解压为xml格式,并通过文字替换自动 ...

  7. 基于OCILIB的oracle数据库操作总结及自动生成Model和Dao的工具

    基于OCILIB的oracle数据库操作总结 1.       类图 2.       基类BaseOCIDao的设计与实现 BaseOCIDao.h头文件 #pragma once/* ------ ...

  8. python自动生成分析报告_利用PYTHON全自动生成分析报告

    日常工作当中,特别是金融行业当中,有不少人的工作是提取数据,分析数据,得到可视化图表,并加入自已的研究分析结论,最终生成分析报告,并且有不少报告是定期生成,存在不少重复手工劳动.本文通过一个简单实例, ...

  9. c 自动生成html报告,Pytest框架之 - Allure生成漂亮的HTML图形测试报告

    官网介绍 1. Allure Framework是一种灵活的轻量级多语言测试报告工具,不仅可以以简洁的Web报告形式非常简洁地显示已测试的内容,也允许参与开发过程的每个人从日常测试中提取最大程度的有用 ...

  10. python自动生成word报告_python自动化生成分析报告,让你的工作效率提升10倍+

    打开搜狗搜索APP,查看更多精彩资讯 如果你每天都需要输出分析报告,报告模式基本一致,只是更换里面的分析数据,每天重复着同样的工作,费时费力,工作能力没有丝毫的提升,但是如果你学过python,你就可 ...

最新文章

  1. R语言dplyr包mutate_all函数一次性处理所有的数据列的内容(使用统一的函数)实战
  2. 如何打赢一场唯快不破的比赛,看看他们的绝招
  3. LeetCode: Jump Game II
  4. SAP进销存难点分析及对策
  5. 软件体系结构C2风格
  6. 如果今天完成,ESB会是什么样子?
  7. pb自定义控件 事件_Android WebView与下拉刷新控件滑动冲突的解决方法
  8. html和css哪个优先,CSS3 | 样式和优先级
  9. 读《财务自由之路》教会我的道理
  10. mysql让数据-1_[1]mysql-对数据基本操作
  11. 中南大学计算机学院伍逸凡,关于公布2017年湖南省大学生力学竞赛等15项学科竞赛结果的通知...
  12. 华为harmonyos公测,华为开启HarmonyOS2.0开发者Beta公测招募第二期
  13. liunx的du命令查看文件夹大小
  14. 微信号码检测是什么意思
  15. 关于蚂蚁的纯知识解读:杠杆、资本充足率、ABS
  16. Gos —— 文件系统
  17. 【不忘初心】Win10_2004.19041.329_X64_七合一_[纯净精简版](2020.06.18)
  18. 钉钉后台配置微应用_将配置文件链接应用于微格式
  19. 一个程序员分享8年的开发经验
  20. cholesky求逆

热门文章

  1. 汉字机内码的获取实验( EduCoder实验二)
  2. 【数据分析师---数据可视化】第二章:plotly绘图进阶篇(地图可视化,动态数据可视化)
  3. 简述redis集群的实现原理
  4. 新手如何让淘宝店铺快速走向正轨? 新型模式带你走向巅峰
  5. intel服务器无线网卡,英特尔网卡: Intel无线网卡Win7驱动 12.4.1.53版发布
  6. Unity3D导出Android工程(Android中应用Unity3D)
  7. 微信小程序底部导航栏——tabBar
  8. SpringBoot 中html的页面间跳转
  9. 数据库锁机制和CAS概念
  10. 关于 appium 启动 app 后闪退的问题 - (已解决)