基于Linux下 Oracle 备份策略 RMAN

               

--**********************************

-- 基于Linux Oracle 备份策略(RMAN)

--**********************************

 

    对于 Oracle 数据库的备份与恢复,尽管存在热备,冷备以及逻辑备份之外,使用最多的莫过于使用RMAN进行备份与恢复。而制定RMAN备份策

略则是基于数据库丢失的容忍程度,即恢复策略来制定。在下面的备份策略中,给出的是一个通用的备份策略。在该备份策略中,使用了catalog

式来保持备份脚本以及备份信息。在实际环境中应根据具体的情况对此进行相应的调整。

 

一、步骤

    1.确认备份可用空间以及备份路径,根据需要创建相应文件夹

   

    1.对于账户的连接创建一个connect.rcv,该文件包含连接到target catalog信息

   

    2.创建通用的脚本用于删除过旧的备份和备份控制文件以及备份归档日志

        global_del_obso      --过旧备份

        global_bkctl         --备份控制文件

        global_arch          --备份归档日志

   

    3.创建0,1,2级增量备份

        这三个脚本中均包含第2步的3个脚本,先调用global_del,然后做增量备份,最后备份归档日志global_arch和控制文件global_bkctl

       

    4.创建inc0.rcv,inc1.rcv,inc2.rcv

        文件内容包含调用 @@/<dir>/connect.rcv以及run{execute global script scriptname;}exit;

       

    5.编辑第4步的三个文件分别为inc0.sh,inc1.sh,inc2.sh

        nohup  $ORACLE_HOME/bin/rman  cmdfile=/u03/bk/scripts/inc1.rcv log=/u03/bk/scripts/inc0.log append &

   

    6.使用crontab制定备份计划   

 

二、具体实现

    演示环境:

        系统:            CentOS release 4.6 (Final) + Oracle 10g

        目标数据库:      austin

        恢复目录数据库:   david

        备份目录:        /u03/bk

        连接脚本所在路径:/u03/bk/scripts

        注:监听需要配置好且已启动

   

    1.连接脚本

        connect.rcv文件内容

            connect catalog rman/rman@david;

            connect target sys/oracle@austin;

        catalog的通用脚本

            rman cmdfile=/u03/bk/scripts/connect.rcv --(rman中使用外部脚本)

            rman catalog rman/rman@david target sys/oracle@austin   --使用脚本接后建通用脚本

 

    2.建立通用脚本

        --除不必要的备份

            RMAN> create global script global_del_obso  comment 'A script for obsolete backup and delete it' {

            2> crosscheck archivelog all;

            3> delete noprompt expired archivelog all;

            4> allocate channel ch1 device type disk;

            5> delete noprompt obsolete recovery window of 7 days; 

            6> release channel ch1;

            7> }

       

        --备份控制文件脚本

            RMAN> create global script global_bkctl comment 'A script for backup control file'{

            2> allocate channel ch1 device type disk;

            3> backup as compressed backupset

            4> current controlfile reuse

            5> format='/u03/bk/backupctl.ctl'

            6> tag='bkctl';

            7> release channel ch1;

            8> }

       

        --备份归档日志脚本

            RMAN> create global script global_arch comment "backup archivelog and then delete it" {

            2> allocate channel ch1 device type disk;

            3> allocate channel ch2 device type disk;

           

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值