SHELL脚本学习-自动生成AWR报告
自动生成AWR报告,每个小时生成一次。
#编辑脚本:vim awr_auto.sh #oracle用户下执行 #!/bin/bash # 每个小时执行一次,自动生成AWR报告 source ~/.bash_profile AWR_FORMAT=html NUM_DAYS=1 ONE_HOUR_AGO=`date -d -1hour +%Y%m%d_%H` CURRENT_TIME=`date +%H` MAX_SNAP_ID=`sqlplus -S / as sysdba << EOF set heading off trimspool on feedback off SELECT trim(max(SNAP_ID)) FROM DBA_HIST_SNAPSHOT; EOF` MIN_SNAP_ID=`expr $MAX_SNAP_ID - 1` AWR_LOG=/tmp/AWR_$ONE_HOUR_AGO-$CURRENT_TIME.html echo -e "$AWR_FORMAT\n$NUM_DAYS\n$MIN_SNAP_ID$MAX_SNAP_ID\n$AWR_LOG\n"|(sqlplus -S / as sysdba @?/rdbms/admin/awrrpt.sql) > /dev/null #设置执行计划 crontab -e 10 * * * * /opt/awr_auto.sh