概述
centos下通过RMAN配置自动增量备份
系统: centos 5.5
数据库: oracle 11gR2
1.备份策略
周日执行 0 级的 incremental 备份
周一执行 2 级的 incremental 备份
周二执行 2 级的 incremental 备份
周三执行 1 级的 incremental 备份
周四执行 2 级的 incremental 备份
周五执行 2 级的 incremental 备份
周六执行 2 级的 incremental 备份
2.生成三个 rman 调用的备份脚本(0 级,1 级,2 级)
先创建需要的目录
mkdir –p /u01/backup/ 存放备份脚本的目录
mkdir /u01/backup/ 存放备份的目录
0级脚本:
[root@rac1 backup]# more backup_lv0.sql
run {
allocate channel c1 type disk;
allocate channel c2 type disk;
backup incremental level 0 database
include current controlfile format '/u01/backup/backup_%T_%s_%p.lv0'
plus archivelog delete all input format '/u01/backup/backup_%T_%s_%p.arc';
release channel c1;
release channel c2;
}
1级脚本:
[root@rac1 backup]# more backup_lv1.sql
run {
allocate channel c1 type disk;
backup incremental level 1 database include current controlfile
format '/u01/backup/backup_%T_%s_%p.lv1';
release channel c1;
}
2级脚本:
[root@rac1 backup]# more backup_lv2.sql
run {
allocate channel c1 type disk;
backup incremental level 2 database include current controlfile
format '/u01/backup/backup_%T_%s_%p.lv2';
release channel c1;
}
3.创建自动备份的shell程序
[root@rac1 backup]# more backup.sh
#!/bin/bash
#edit: daniel
#date:2012-03-08
#auto backup database
#load Environment variables
source /home/oracle/.bash_profile
myweek=`date +%a`
mydate=`date +%Y%m%d`
mydir=/u01/backup
#Sunday
if [ "$myweek" == "Sun" ]; then
rman target / msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/backup_lv0.sql
fi
#Monday
if [ "$myweek" == "Mon" ]; then
rman target / msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/backup_lv2.sql
fi
#Tuesday
if [ "$myweek" == "Tue" ]; then
rman target / msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/backup_lv2.sql
fi
#Wednesday
if [ "$myweek" == "Wed" ]; then
rman target / msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/backup_lv1.sql
fi
#Thursday
if [ "$myweek" == "Thu" ]; then
rman target / msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/backup_lv2.sql
fi
#Friday
if [ "$myweek" == "Fri" ]; then
rman target / msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/backup_lv2.sql
fi
#Saturday
if [ "$myweek" == "Sat" ]; then
rman target / msglog=${mydir}/backup_${mydate}.log cmdfile=${mydir}/backup_lv2.sql
fi
4.用cron创建定时执行任务,默认情况下,cron为开机自动启动的
执行 crontab –e 添加以下语句:
00 01 * * * sh /u01/backup/backup.sh
保存退出
(00 表示分钟 01 表示小时 后面三个*表示日期和星期,因为这里每天都要执行,所以用*
表示,整条语句表示每天的 1:00 开始执行备份脚本)
[oracle@rac1 ~]$ /sbin/chkconfig --list
NetworkManager 0:off 1:off 2:off 3:off 4:off 5:off 6:off
acpid 0:off 1:off 2:on 3:on 4:on 5:on 6:off
anacron 0:off 1:off 2:on 3:on 4:on 5:on 6:off
atd 0:off 1:off 2:off 3:on 4:on 5:on 6:off
auditd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
autofs 0:off 1:off 2:off 3:on 4:on 5:on 6:off
avahi-daemon 0:off 1:off 2:off 3:on 4:on 5:on 6:off
avahi-dnsconfd 0:off 1:off 2:off 3:off 4:off 5:off 6:off
bluetooth 0:off 1:off 2:on 3:on 4:on 5:on 6:off
capi 0:off 1:off 2:off 3:off 4:off 5:off 6:off
conman 0:off 1:off 2:off 3:off 4:off 5:off 6:off
cpuspeed 0:off 1:on 2:on 3:on 4:on 5:on 6:off
crond 0:off 1:off 2:on 3:on 4:on 5:on 6:off
看crond是否自动启动
备注:
权限如下:
[root@rac1 backup]# ll
total 4932644
-rw-r----- 1 oracle asmadmin 162209792 Mar 9 01:00 backup_20120309_14_1.lv2
-rw-r----- 1 oracle asmadmin 18874368 Mar 9 01:00 backup_20120309_15_1.lv2
-rw-r--r-- 1 oracle oinstall 2154 Mar 9 01:00 backup_20120309.log
-rw-r--r-- 1 oracle oinstall 294 Mar 2 10:52 backup_lv0.sql
-rw-r--r-- 1 oracle oinstall 165 Mar 2 15:15 backup_lv1.sql
-rw-r--r-- 1 oracle oinstall 165 Mar 5 16:26 backup_lv2.sql
-rwxr-xr-x 1 oracle oinstall 1135 Mar 8 15:23 backup.sh
看系统发给oracle 用户的mail
[root@rac1 backup]# cd /var/mail
[root@rac1 mail]# ls
oracle root rpc
[root@rac1 mail]# more oracle
From oracle@localhost.localdomain Fri Mar 9 01:00:27 2012
Return-Path: <oracle@localhost.localdomain>
Received: from localhost.localdomain (rac1 [127.0.0.1])
by localhost.localdomain (8.13.8/8.13.8) with ESMTP id q28H0R1X000410
for <oracle@localhost.localdomain>; Fri, 9 Mar 2012 01:00:27 +0800
Received: (from oracle@localhost)
by localhost.localdomain (8.13.8/8.13.8/Submit) id q28H04uF000380;
Fri, 9 Mar 2012 01:00:04 +0800
Date: Fri, 9 Mar 2012 01:00:04 +0800
Message-Id: <201203081700.q28H04uF000380@localhost.localdomain>
From: root@localhost.localdomain (Cron Daemon)
To: oracle@localhost.localdomain
Subject: Cron <oracle@rac1> sh /u01/backup/backup.sh
Content-Type: text/plain; charset=UTF-8
Auto-Submitted: auto-generated
X-Cron-Env: <SHELL=/bin/sh>
X-Cron-Env: <HOME=/home/oracle>
X-Cron-Env: <PATH=/usr/bin:/bin>
X-Cron-Env: <LOGNAME=oracle>
X-Cron-Env: <USER=oracle>
RMAN> 2> 3> 4> 5> 6> 7>
转载于:https://www.cnblogs.com/danielday/archive/2012/03/09/2387238.html
最后
以上就是香蕉小海豚为你收集整理的centos下通过RMAN配置自动增量备份的全部内容,希望文章能够帮你解决centos下通过RMAN配置自动增量备份所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复