shell执行远端Script自动生成awr report并mail出来
1.remote machine shell script
[mon@topaz source]$ more gen_oracle_awr
#!/bin/bash
export ORACLE_BASE=/u01/oracle
export ORACLE_HOME=$ORACLE_BASE/product/11.2.0/dbhome_1
export ORACLE_SID=wlcsp
AWRHOME=/home/mon/awr
#interval=8
#echo $ORACLE_SID
maxmin&#61;&#96;$ORACLE_HOME/bin/sqlplus -s /nolog <> /home/mon/log/gen_oracle_awr.log #if general output to log,the maxmin will not get the value.
conn / as sysdba;
set heading off pagesize 0 feedback off verify off echo off;
select max(snap_id),min(snap_id) from dba_hist_snapshot where begin_interval_time>&#61;sysdate-1 and begin_interval_time<&#61;sysdate-1&#43;8/24;
exit;
EOF&#96;
#if [ -z "$maxmin" ]; then
# echo "no rows returned from database"
# exit 0
#else
# echo $maxmin
#fi
max&#61;&#96;echo $maxmin | awk &#39;{print $1}&#39;&#96;
min&#61;&#96;echo $maxmin | awk &#39;{print $2}&#39;&#96;
#echo $max
#echo $min
rm -rf $AWRHOME/*
$ORACLE_HOME/bin/sqlplus -s /nolog <> /dev/null
conn / as sysdba;
&#64;?/rdbms/admin/awrrpt.sql;
html
2
$min
$max
$AWRHOME/awrrpt_1_${min}_${max}.html
EOF
#cat $AWRHOME/awrrpt_1_${min}_${max}.html | mutt -s "$ORACLE_SID Database AWR Report" -e "set content_type&#61;text/html" tolilong&#64;163.com -a $AWRHOME/awrrpt_1_${min}_${max}.html
2.local machine script
[mon&#64;oracle6 source]$ more gen_remote_oracle_awr
#!/bin/bash
TAWRHOME&#61;/home/mon/awr/topaz
ssh mon&#64;topaz /home/mon/source/gen_oracle_awr
scp mon&#64;topaz:/home/mon/awr/* $TAWRHOME/
FILE&#61;&#96;ls -tr $TAWRHOME/* | tail -1&#96;
cat $FILE | mutt -s "Topaz Database AWR Report" -e "set content_type&#61;text/html" tolilong&#64;163.com -a $FILE
3.add crontab job
###############general remote awr################################
16 15 * * * /home/mon/source/gen_remote_oracle_awr > /dev/null 2>&1
来自 “ ITPUB博客 ” &#xff0c;链接&#xff1a;http://blog.itpub.net/24237320/viewspace-2052133/&#xff0c;如需转载&#xff0c;请注明出处&#xff0c;否则将追究法律责任。