rac自动生成各节点的AWR

本文介绍了一个用于Oracle RAC环境中自动创建AWR报告的Shell脚本。该脚本可以为集群中的两个实例分别生成AWR报告,并将报告文件上传到远程FTP站点进行归档。文中详细展示了如何设置环境变量、调用SQL Plus命令获取快照ID、生成HTML报告以及通过FTP备份报告。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

#!/bin/sh
################################################################################
##name : auto_awr.sh
##synopsis : create awr for two nodes for rac at the execute time
##author : qjm
##version : 2.1
################################################################################

################################################################################
##program var
################################################################################
v_awr_path=/backup/AWRreport
v_awr_user=awr
v_awr_pwd=awr
v_sid1=prod1
v_sid2=prod2
v_remote_path=/awr
v_remote_ip=10.10.0.3
v_remote_user=awr
v_remote_pwd=awr

################################################################################
##setup env
################################################################################
set_env()
{
v_who=`whoami`
v_bash_profile_path=`sed -n "/${v_who}/p" /etc/passwd|awk -F: '{print $6}'`
. ${v_bash_profile_path}/.bash_profile
 
cd ${v_awr_path}

v_begin=`sqlplus -silent  /nolog <<END
conn  ${v_awr_user}/${v_awr_pwd}
set pagesize 0 feedback off verify off heading off echo off
select snap_id  from DBA_HIST_SNAPSHOT where to_char(begin_interval_time,'yyyymmddhh24')=to_char (sysdate-(3/24),'yyyymmddhh24') and rownum=1;
exit;
END`

v_end=`sqlplus -silent  /nolog <<END
conn ${v_awr_user}/${v_awr_pwd}
set pagesize 0 feedback off verify off heading off echo off
select snap_id  from DBA_HIST_SNAPSHOT where to_char(begin_interval_time,'yyyymmddhh24')=to_char (sysdate-(1/24),'yyyymmddhh24') and rownum =1;
exit;
END`

v_name1=`sqlplus -silent  /nolog <<END
conn ${v_awr_user}/${v_awr_pwd}
set pagesize 0 feedback off verify off heading off echo off
select '${v_sid1}_'|| to_char(sysdate-(1/12),'yyyymmddhh24')||'.html' from dual;
exit;
END`

v_name2=`sqlplus -silent  /nolog <<END
conn ${v_awr_user}/${v_awr_pwd}
set pagesize 0 feedback off verify off heading off echo off
select '${v_sid2}_'|| to_char(sysdate-(1/12),'yyyymmddhh24')||'.html' from dual;
exit;
END`

v_dbid=`sqlplus -silent  /nolog <<END
conn ${v_awr_user}/${v_awr_pwd}
set pagesize 0 feedback off verify off heading off echo off
select dbid from V\\$database where rownum=1;
exit;
END`

}
 
 
################################################################################
##awr
################################################################################
f()
{
sqlplus "${v_awr_user}/${v_awr_pwd}"<<HERE
@$ORACLE_HOME/rdbms/admin/awrrpti.sql
$1
$2
$3
$4
$5
$6
$7
exit
HERE
}


################################################################################
##ftp
################################################################################
ftp_backup()
{
 echo "ATTENTION : begin to upload awr report  to remote ftp site"
 export TAG=`date +%Y%m%d`
 lftp -d <<EOF
 open ${v_remote_ip}
 user ${v_remote_user} ${v_remote_pwd}
 lcd ${v_awr_path}
 cd ${v_remote_path}
 mput -c *${TAG}*
 by
EOF
}


################################################################################
##begin excute
################################################################################
set_env
f html $v_dbid 1  1 $v_begin $v_end $v_name1
f html $v_dbid 2  1 $v_begin $v_end $v_name2
ftp_backup


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值