RMAN全备份脚本

来源:互联网 发布:mba智库百科 知乎 编辑:程序博客网 时间:2024/05/27 10:44

RMAN全备份脚本


目标:

       1、备份脚本每周天半夜3点自动执行。

       2、数据库全备份,同时备份控制文件及归档日志文件。

       3、备份保留14天,过期自动删除。

       4、保留操作日志备查。


(1)编写RMAN批处理文件:rman 自动备份脚本(oraback0.sh)


run{
CONFIGURE RETENTION POLICY TO RECOVERY WINDOWN OF 14 DAYS;
COFNIGURE CONTROLFILE AUTOBACK ON;
CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO '/oracle/oradata/backup/rmanback/%F';
ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT '/oracle/oradata/backup/rmanback/orabk0_%d_%T_%s';
BACKUP DATABASE SKIP INACCESSIBLE
PLUS ARCHIVELOG FILESPERSET 20
DELETE ALL INPUT;
RELEASE CHANNEL C1;
}
ALLOCATE CHANNEL FOR MAINTENANCE DEVICE TYPE DISK;
CROSSCHECK BACKUPSET;
DELETE NOPROMPT OBSOLETE;


补充:

        BACKUP SKIP 参数:

        SKIP INACCESSIBLE :表示跳过不可读的文件。OFFLINE的文件只要存在于磁盘上那就仍然可读取,但是有的文件

                                                    已经被删除或移动就不可读了,加上这个参数就会跳过这些文件。

        SKIP OFFLINE:表示跳过OFFLINE数据文件。

        SKIP READONLY:表示跳过所在表空间为READONLY的数据文件。


        ALLOCATE CHANNLE FOR MAINTENACNE DEVICE TYPE DISK;是用来分配专用于CHANGE、DELETE、CROSSCHECK命令,不能包含在RUN块中。

        默认配置下CONFIGURE 已经配置了一个指定DISK的通道,因此也可以不执行 ALLOCATE CHANNLE FOR MAINTENACNE,另外oracle 也建议通过CONFIGURE

       来配置通道。

         

(2)编写执行脚本run_rman_backup.sh

ORACLE_SID=test
ORACLE_BASE=/oracle
ORACLE_HOME=$ORACLE_BASE/product/11.1.0/db_1
export ORACLE_SID ORACLE_BASE ORACLE_HOME
export ORA_NLS10=$ORACLE_HOME/nls/data
PATH=$PATH:$ORACLE_HOME/bin:$HOME/bin
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
export PATH


$ORACLE_HOME/bin/rman target /  msglog=/backup/oraclebaklog/bak.log cmdfile=/backup/shell/oraback0.sh


(3)加入到执行计划

crontab -e
00 03 * * 0 /backup/shell/run_rman_back.sh


注意:相应的目录应该创建,对应的文件应该放在相应的目录下。

0 0