1. 程式人生 > >SHELL腳本學習-自動生成AWR報告

SHELL腳本學習-自動生成AWR報告

ren min 執行計劃 snap time cront sna plus shel

自動生成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

SHELL腳本學習-自動生成AWR報告