shell脚本导出awr报告

#!/bin/sh
#####################################
##脚本说明:
##参数1:巡检日期,例如   20180719
##参数2:开始时间点,例如 09
##参数3:结束时间点,例如 17
##参数4:文件名名称,例如 cc-awr-20180719.xml
##参数5:数据库tns,例如 test/test@cc_test
##参数6:实例编码inst_num
##参数7:awr生成路径:如 /weblogic/r11/user/sunzhilong/awr
#####################################
Ins_date=${1}
begin_hour=${2}
end_hour=${3}
file_name=${4}
ora_link=${5}
inst_num=${6}
path=${7}

###########################################################函数定义#####################
##############################执行sql语句函数--第一个参数是执行语句,第二个参数是连接串
#like execute "${v_sql}" "${v_link}"
execute (){
sqlplus -S ${2} << END
    set heading off
    set feedback off
    set pagesize 0
    ${1}
exit
END
}

spool (){
sqlplus -S ${1} << END
set heading off
set feedback off
set pagesize 0
set echo off
set trimspool on;
set linesize 1500
spool ${path}/${2}
${3}
spool off
exit
END
}

echo 'Ins_date   is'${Ins_date}
echo 'begin_hour is'${begin_hour}
echo 'end_hour   is'${end_hour}
echo 'file_name  is'${file_name}
echo 'ora_link   is'${ora_link}
echo 'path       is'${path}
echo 'inst_num   is'${inst_num}

v_sql="select d.dbid
  from v\$database d,
       v\$instance i;"
dbid=`execute "${v_sql}" "${ora_link}"`

v_sql="select a.snap_id
  from dba_hist_snapshot a
  where to_char(a.end_interval_time, 'yyyymmdd')='${Ins_date}'
  and to_char(a.end_interval_time, 'hh24mi') = '${begin_hour}00'
  and a.instance_number=${inst_num}
  and rownum<=1;"
snap_id1=`execute "${v_sql}" "${ora_link}"`


v_sql="select a.snap_id
  from dba_hist_snapshot a
  where to_char(a.end_interval_time, 'yyyymmdd')='${Ins_date}'
  and to_char(a.end_interval_time, 'hh24mi') = '${end_hour}00'
  and a.instance_number=${inst_num}
  and rownum<=1;"
snap_id2=`execute "${v_sql}" "${ora_link}"`

echo 'dbid is '${dbid}
echo 'inst_num is '${inst_num}
echo 'snap_id1 is'${snap_id1}
echo 'snap_id2 is'${snap_id2}

v_sql="select output from table(dbms_workload_repository.awr_report_html(${dbid},${inst_num},${snap_id1},${snap_id2},0));"
spool "${ora_link}" ${file_name} "${v_sql}" >/dev/null

猜你喜欢

转载自blog.csdn.net/feng_vs_sunzhilong/article/details/81412187