批量 rman 自动备份脚本

sid=`ps -ef|grep smon |egrep -v "+ASM|grep|opt"|awk '{print $8}'|awk -F "_" '{print $3}'`
for id in $sid
do
echo $id
export ORACLE_SID=$id
echo $ORACLE_SID

##backup                                                                                                            
##backup_time as dir
DATE=`date '+%Y-%m-%d-%H'`                                                                                          
cd /backup/bak3_1/ 
                                                                                                  
mkdir $DATE                                                                                                         
cd $DATE   
mkdir $ORACLE_SID 
cd    $ORACLE_SID
                                                                                                       
mkdir archivebackup                                                                                                 
                                                                                                                    
#source $ORACLE_HOME/bin/                                                                                                   
                                                                                                                    
rman msglog=/backup/bak3_1/$DATE/$ORACLE_SID/bak.log << EOF                                                                                  
connect target                                                                                                      
RUN {                                                                                                               
crosscheck backup;                                                                                                  
delete noprompt expired backup;                                                                                     
report obsolete;                                                                                                    
delete noprompt obsolete;                                                                                           
allocate channel c1 device type disk;                                                                         
allocate channel c2 device type disk;                                                                                                        
backup full database  format '/backup/bak3_1/$DATE/$ORACLE_SID/bak_%U_%s_%T.db';
release channel c1;                                                                                                 
release channel c2;                                                                                                                          
sql 'alter system archive log current';
allocate channel d1 type disk MAXPIECESIZE = 4G;                                                                    
allocate channel d2 device type disk;                                                                               
backup  archivelog all format '/backup/bak3_1/$DATE/$ORACLE_SID/archivebackup/arc_%d_%s_%p.bak' delete all input;;
backup spfile format '/backup/bak3_1/spfilerman_%s_%t';                                                               
release channel d1;                                                                                                 
release channel d2;                                                                                                 
allocate channel d3 device type disk;                                                                               
backup  format '/backup/bak3_1/$DATE/$ORACLE_SID/contrl_%s_%p_%t' current controlfile;                           
release channel d3;                                                                                                
}                                                                                                                   
exit;
EOF
done

客户存储环境异常,临时要备份10几套数据库,懒得一个个数据库写备份脚本,临时写了一个集中批量rman 备份的脚本;

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值