以前在博客里面介绍了RMAN备份脚本一列分享,通过RMAN备份到本地路径,然后通过FTP将备份文件上传到FTP服务器。 下面简单介绍另外一例RMAN备份解决方案,下面是我简单画的一个图(很少画图,感觉有点粗制滥造)。
首先将数据库备份到本地服务器的一个目录下(目录是按日期格式生成,本地备份保留周期视存储情况而定.一般一天即可)。
然后将备份文件通过Symantec Backup Exec 2012 Agent 将本地备份上传到磁带设备(容灾备份,磁带备份保留90天)。
最后清理本地备份路径下的备份。
如上所示,只有三个步骤,整体思路非常简单,下面介绍一下实施的具体脚本
首先介绍一下备份脚本backup_db_xxxx.sh (注意xxx为数据库实例名称,脚本里面很多xxx需要根据具体场景进行替换,例如实例名称、邮件地址等)
1: #********************************************************************************
2: # FileName : backup_db_xxxx.sh
3: #********************************************************************************
4: # Author : Tommy
5: # CreateDate : 2012-07-18
6: # Description : this script is backup the oracle database by rman
7: #********************************************************************************
8: # Parameters : 参数说明
9: #********************************************************************************
10: # 此脚本无参数,直接调用即可
11: #********************************************************************************
12: # Modified Date Modified User Version Modified Reason
13: #********************************************************************************
14: # 2014-04-26 Kerry V1.0.1 脚本部分地方、调整脚本格式
15: #
16: #********************************************************************************
17:
18:
19:
20: #REM - USER DEFINED VARIABLES -
21: export DATESTAMP=`date '+%F'`
22:
23: #REM - Oracle specific settings: -
24: . /home/oracle/.bash_profile
25: export CATALOG=NOCATALOG
26:
27: #REM - Specify the Logfiles -
28: export BACKUP_FULL_LOG=/u04/backup/backuplogs/rman_backup_db_xxx_$DATESTAMP.log
29:
30: #REM - BACKUP SECTION -
31: echo $BACKUP_FULL_LOG
32: rman target / $CATALOG cmdfile=/u04/backup/scripts/backup_db_xxx.rcv log=$BACKUP_FULL_LOG
33:
34: EMAILTMP=/u04/backup/backuplogs/rman_backup_db_xxx_$DATESTAMP.TMP
35:
36: ######################## config email parameters ##########################
37: echo 'Content-Type: text/html' > $EMAILTMP
38: echo 'To: xxx@xxx.com, xxx@xxx.com,xxx@xxx.com' >> $EMAILTMP
39: echo 'Subject : Backup Status - xxxx(RMAN hot backup)' >> $EMAILTMP
40: echo '
首先将数据库备份到本地服务器的一个目录下(目录是按日期格式生成,本地备份保留周期视存储情况而定.一般一天即可)。
然后将备份文件通过Symantec Backup Exec 2012 Agent 将本地备份上传到磁带设备(容灾备份,磁带备份保留90天)。
最后清理本地备份路径下的备份。
如上所示,只有三个步骤,整体思路非常简单,下面介绍一下实施的具体脚本
首先介绍一下备份脚本backup_db_xxxx.sh (注意xxx为数据库实例名称,脚本里面很多xxx需要根据具体场景进行替换,例如实例名称、邮件地址等)
1: #********************************************************************************
2: # FileName : backup_db_xxxx.sh
3: #********************************************************************************
4: # Author : Tommy
5: # CreateDate : 2012-07-18
6: # Description : this script is backup the oracle database by rman
7: #********************************************************************************
8: # Parameters : 参数说明
9: #********************************************************************************
10: # 此脚本无参数,直接调用即可
11: #********************************************************************************
12: # Modified Date Modified User Version Modified Reason
13: #********************************************************************************
14: # 2014-04-26 Kerry V1.0.1 脚本部分地方、调整脚本格式
15: #
16: #********************************************************************************
17:
18:
19:
20: #REM - USER DEFINED VARIABLES -
21: export DATESTAMP=`date '+%F'`
22:
23: #REM - Oracle specific settings: -
24: . /home/oracle/.bash_profile
25: export CATALOG=NOCATALOG
26:
27: #REM - Specify the Logfiles -
28: export BACKUP_FULL_LOG=/u04/backup/backuplogs/rman_backup_db_xxx_$DATESTAMP.log
29:
30: #REM - BACKUP SECTION -
31: echo $BACKUP_FULL_LOG
32: rman target / $CATALOG cmdfile=/u04/backup/scripts/backup_db_xxx.rcv log=$BACKUP_FULL_LOG
33:
34: EMAILTMP=/u04/backup/backuplogs/rman_backup_db_xxx_$DATESTAMP.TMP
35:
36: ######################## config email parameters ##########################
37: echo 'Content-Type: text/html' > $EMAILTMP
38: echo 'To: xxx@xxx.com, xxx@xxx.com,xxx@xxx.com' >> $EMAILTMP
39: echo 'Subject : Backup Status - xxxx(RMAN hot backup)' >> $EMAILTMP
40: echo '
' >> $EMAILTMP
41: ###########################################################################
42:
43: echo "=======================================================" >> $EMAILTMP
44: echo "================ Daily Backup for xxxx ================" >> $EMAILTMP
45: echo "=======================================================" >> $EMAILTMP
46: echo " " >> $EMAILTMP
47:
48: cat $BACKUP_FULL_LOG >> $EMAILTMP 2>&1
49: echo " " >> $EMAILTMP
50: echo "================ End of Rman Backup ==================" >> $EMAILTMP
51: echo "======================================================" >> $EMAILTMP
52:
53: /usr/sbin/sendmail -t -f "BackupAdmin" < $EMAILTMP
54: rm $EMAILTMP
原载于:联动北方
查看全文:http://bbs.landingbj.com/t-0-240871-1.html
来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/30029358/viewspace-1340671/,如需转载,请注明出处,否则将追究法律责任。
转载于:http://blog.itpub.net/30029358/viewspace-1340671/