设为首页 加入收藏

TOP

centos下通过RMAN配置自动增量备份(一)
2014-11-24 07:17:00 来源: 作者: 【 】 浏览:2
Tags:centos 通过 RMAN 配置 自动 增量 备份
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
首页 上一页 1 2 下一页 尾页 1/2/2
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇CentOs安装Oracle 11gR2客户端 下一篇Oracle 11g R2在CentOS 5.5服务器..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容:

·Redis 分布式锁全解 (2025-12-25 17:19:51)
·SpringBoot 整合 Red (2025-12-25 17:19:48)
·MongoDB 索引 - 菜鸟 (2025-12-25 17:19:45)
·What Is Linux (2025-12-25 16:57:17)
·Linux小白必备:超全 (2025-12-25 16:57:14)