rman备份脚本

举报
snowofsummer 发表于 2020/12/26 16:21:33 2020/12/26
【摘要】 开始判断是否全备份: startrman.sh #------------------------------------------------------------------------------------------------------------#Environment variable setting#----------------------------------...

开始判断是否全备份:

 startrman.sh 
#------------------------------------------------------------------------------------------------------------
#Environment variable setting
#------------------------------------------------------------------------------------------------------------
ORACLE_SID=kfptdb
export ORACLE_SID
ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1
export ORACLE_HOME
PATH=$ORACLE_HOME/bin:$PATH
export PATH
SH_HOME=/backup/oracle/kfptdb/
export SH_HOME

DATE=`date +"%Y%m%d%H%M"`
week=`date +"%w"`
rmanerror=$SH_HOME/script/rmanerror.log

#-----------------------------------------------------------------------
#Confirm whether the oracle is runing
#-----------------------------------------------------------------------
sqlplus -s  "/as sysdba"<<EOF
whenever sqlerror exit 1
whenever oserror exit 1
select sysdate from dual;
exit
EOF

if [ $? -gt 0 ]; then
exit
fi

#-----------------------------------------------------------------------
#Begin to backup
#-----------------------------------------------------------------------
   if [ $week = "2" ] ; then
      rman target / @$SH_HOME/script/fullbackup.sql log=$SH_HOME/log/rmanfullback`date +"%Y%m%d%H%M"`.log
   else
      rman target / @$SH_HOME/script/archbackup.sql log=$SH_HOME/log/rmanarchback`date +"%Y%m%d%H%M"`.log
   fi
########################################################

全备份脚本:

fullbackup.sql 
run{
allocate channel d1 type disk;
backup filesperset 10 full format '/backup/oracle/kfptdb/fullbackup/FULLBAK_%d_%T_%s_%p' tag db_full_bak database; 
sql 'alter system archive log current';
backup filesperset 50 archivelog all delete all input tag arch_bak format '/backup/oracle/kfptdb/archbackup/ARCHBAK_%d_%T_%s_%p';
backup  format '/backup/oracle/kfptdb/ctlbackup/CTLBAK_%d_%T_%s_%p' tag ctl_bak current controlfile;
backup  format '/backup/oracle/kfptdb/ctlbackup/INITBAK_%d_%T_%s_%p' tag initpara_bak spfile;
release channel d1;
report obsolete;
delete noprompt obsolete;
crosscheck backup;
delete noprompt expired backup;
}

备份归档日志:

run{
  backup archivelog all format '/backup/oracle/kfptdb/archbackup/ARCHBAK_%d_%T_%s' tag arch_bak delete all input; 
   } 

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。