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 < 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 < 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 < 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报告每天自动生成脚本是什么"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!