我是靠谱客的博主 香蕉小海豚,最近开发中收集的这篇文章主要介绍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   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配置自动增量备份所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部