思路:
1. 每天0点做一次0级备份,下午4点做一次1级备份。
2. 0级,1级备份时,都将当前的控制文件随同rman一起备份。 0级备份时还包括 密码文件,spfile文件,tnsname.ora,listener.ora .,
3. 备份结束后,将备份文件放到FTP服务器上。 即使是生产系统宕机,我们依靠这些备份,可以恢复0级备份,1级备份。
4. 采用压缩备份。
测试总结:
1。Dbf 尺寸为100G 的数据库备份后,大小在20G左右。1级备份我们生产系统的在2G左右。
2. 恢复时,将恢复用主机上存在的redo移走。 把flash_recover_area下的实例下文件也移走。最好是密码文件,spfile文件,tnsname.ora,listener.ora 去都覆盖一下恢复用主机上原有的文件。
0. root的Crontab
=============
#Oracle Rman备份
0 4 * * * su - oracle -c "cd /home/oracle/rman_data/script;./level0.sh" > /root/test -- 4点0级备份
30 16 * * * su - oracle -c "cd /home/oracle/rman_data/script;./level1.sh" > /root/test -- 16点1级备份
1.备份功能脚本的目录结构
===============
[oracle@test1 rman_data]$ pwd
/home/oracle/rman_data
[oracle@test1 rman_data]$ ll
总用量 16
drwxr-xr-x 9 oracle oinstall 4096 5月 6 13:41 data1 --备份数据
drwxr-xr-x 2 oracle oinstall 4096 5月 18 10:11 logs --日志文件
drwxr-xr-x 2 oracle oinstall 4096 5月 18 14:43 script --备份脚本
pwd
/home/oracle/rman_data/script
[oracle@test1 script]$ ll
总用量 20
-rwxr--r-- 1 oracle oinstall 555 5月 15 16:47 ftp2bakmachine.sh -- 把备份的数据放到FTP服务器上
-rwxr--r-- 1 oracle oinstall 4119 5月 18 14:35 level0.sh -- 0级备份
-rwxr--r-- 1 oracle oinstall 1925 5月 17 16:07 level1.sh -- 1级备份
[oracle@test1 data1]$ pwd
/home/oracle/rman_data/data1
[oracle@test1 data1]$ ll
总用量 28
drwxr-xr-x 4 oracle oinstall 4096 5月 13 14:37 week0
drwxr-xr-x 4 oracle oinstall 4096 5月 13 14:37 week1
drwxr-xr-x 4 oracle oinstall 4096 5月 13 14:37 week2
drwxr-xr-x 4 oracle oinstall 4096 5月 13 16:52 week3
drwxr-xr-x 4 oracle oinstall 4096 5月 13 14:37 week4
drwxr-xr-x 4 oracle oinstall 4096 5月 13 14:37 week5
drwxr-xr-x 4 oracle oinstall 4096 5月 16 21:13 week6
[oracle@test1 week0]$ pwd
/home/oracle/rman_data/data1/week0
[oracle@test1 week0]$ ll
总用量 16
drwxr-xr-x 2 oracle oinstall 4096 5月 18 04:06 data_level0
drwxr-xr-x 2 oracle oinstall 4096 5月 18 04:06 data_level1
说明:
每天都有1级,0级备份。
week0~week6 是周日到周六的总目录。
每个week{n}下有 data_level0,data_level1 2 个目录,分别放0级备份,和1级备份。
2.备份脚本文件说明
=======
[oracle@test1 script]$ more ftp2bakmachine.sh
FTP_SERVER_DIR=$1
FTP_CLIEAT=$2
FTP_SERVER_DIR_YESTERDAY=$3
LOGFILE=$4
TEE=/usr/bin/tee
echo FTP_CLIEAT=[${FTP_CLIEAT}]
echo FTP_SERVER_DIR=[${FTP_SERVER_DIR}]
echo FTP_SERVER_DIR_YESTERDAY=[${FTP_SERVER_DIR_YESTERDAY}]
FTP_SERVER_IP=IP地址
FTP_USER_NAME=FTP用户名
FTP_USER_PWD=FTP密码
ftp -n ${FTP_SERVER_IP} <
bin
prompt off
cd ${FTP_SERVER_DIR_YESTERDAY}
mdel *
cd $FTP_SERVER_DIR
mdel *
lcd ${FTP_CLIEAT}
mput *
! pwd
! ls -alh
cd $FTP_SERVER_DIR
pwd
ls -alh
close
bye
quit
EOF
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3090/viewspace-671229/ ,如需转载,请注明出处,否则将追究法律责任。