我的编程空间,编程开发者的网络收藏夹
学习永远不晚

awr报告每天自动生成脚本是什么

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

awr报告每天自动生成脚本是什么

本篇内容主要讲解“awr报告每天自动生成脚本是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“awr报告每天自动生成脚本是什么”吧!

后面又根据自己业务需求,设置了下awr生成时间

#!/bin/bash                                              

#加载一下oracle的环境变量文件,不然 sqlplus 命令在crontab 计划任务里不能被执行(或者用 source /home/oracle/.bash_profile)

. /home/oracle/.bash_profile

#定义变量----生成awr报告的文件类型

AWR_FORMAT=html

#定义变量---- 拉取几天内的snap列表               

NUM_DAYS=3

#定义变量----生成的awr报告的结束snap ID  ,即:end_snap  

MAX_SNAP_ID=$(echo `sqlplus -S / as sysdba <<EOF

set heading off trimspool on feedback off pagesize 0

SELECT trim(max(SNAP_ID))-3 FROM DBA_HIST_SNAPSHOT;

EOF`)

#定义变量----生成的awr报告的开始snap ID  ,即:begin_snap

MIN_SNAP_ID=`expr $MAX_SNAP_ID - 24` 

#生成的awr报告的文件路径及文件名

AWR_LOG=/home/oracle/AWR_shahand_`date '+%Y%m%d_%H%M'`.html

#生成awr报告

echo -e "$AWR_FORMAT\n$NUM_DAYS\n$MIN_SNAP_ID\n$MAX_SNAP_ID\n$AWR_LOG\n"|(sqlplus -S / as sysdba @?/rdbms/admin/awrrpt.sql) 

改良版

oracle用户下

crontab -e

00 8 * * * /home/oracle/auto_awr.sh

mkdir /home/oracle/awr_log/

vi /home/oracle/auto_awr.sh

#!/bin/bash                                              

#每天早上8点执行,取昨天0点到今天0点的awr报告

#加载一下oracle的环境变量文件,不然 sqlplus 命令在crontab 计划任务里不能被执行(或者用 source /home/oracle/.bash_profile)

. /home/oracle/.bash_profile

export ORACLE_SID=这里填写数据库的sid

#定义变量----生成文件的时间设置为前一天

shijian=$(date --date='1 days ago' +%Y%m%d)

#定义变量----生成awr报告的文件类型

AWR_FORMAT=html

#定义变量---- 拉取几天内的snap列表               

NUM_DAYS=3

#定义变量----生成的awr报告的结束snap ID  ,即:end_snap  

MAX_SNAP_ID=$(echo `sqlplus -S / as sysdba <<EOF

set heading off trimspool on feedback off pagesize 0

SELECT trim(max(SNAP_ID))-8 FROM DBA_HIST_SNAPSHOT;

EOF`)

#定义变量----生成的awr报告的开始snap ID  ,即:begin_snap

MIN_SNAP_ID=`expr $MAX_SNAP_ID - 24` 

#生成的awr报告的文件路径及文件名

AWR_LOG=/home/oracle/awr_log/AWR_shahand_ ${shijian}_00_24_${ORACLE_SID}.html

#生成awr报告

echo -e "$AWR_FORMAT\n$NUM_DAYS\n$MIN_SNAP_ID\n$MAX_SNAP_ID\n$AWR_LOG\n"|(sqlplus -S / as sysdba @?/rdbms/admin/awrrpt.sql) 

#每天早上8点执行,取昨天9点到昨天17点的awr报告

#最大值减去15就是昨天的17点

MAX_SNAP_ID=$(echo `sqlplus -S / as sysdba <<EOF

set heading off trimspool on feedback off pagesize 0

SELECT trim(max(SNAP_ID))-15 FROM DBA_HIST_SNAPSHOT;

EOF`)

#最小值=最大值减去8就是9点了,这里expr里面的计算两个值之间与减号一定要有空格,否则报错

MIN_SNAP_ID=`expr $MAX_SNAP_ID - 8`

#设置awr报告生成路径及文件名

AWR_LOG=/home/oracle/awr_log/AWR_shahand_${shijian}_09_17_${ORACLE_SID}.html

#生成awr报告的命令

echo -e "$AWR_FORMAT\n$NUM_DAYS\n$MIN_SNAP_ID\n$MAX_SNAP_ID\n$AWR_LOG\n"|(sqlplus -S / as sysdba @?/rdbms/admin/awrrpt.sql)

到此,相信大家对“awr报告每天自动生成脚本是什么”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

awr报告每天自动生成脚本是什么

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

手工生成AWR报告的方法是什么

手工生成AWR报告的方法是什么,针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。本篇文章给大家分享的是有关手工生成AWR报告的方法是什么,小编觉得挺实用的,因此分享给大家学习,
2023-06-06

oracle中awr报告生成的方法是什么

在Oracle数据库中,AWR(Automatic Workload Repository)报告是由数据库自动收集和存储的性能统计数据生成的。AWR报告提供有关数据库实例的性能指标和活动的详细信息,可用于分析和调优数据库性能。要生成AWR
oracle中awr报告生成的方法是什么
2024-04-09

编程热搜

目录