目标:
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注意:相应的目录应该创建,对应的文件应该放在相应的目录下。--------------------------------------推荐阅读 --------------------------------------RMAN 配置归档日志删除策略 http://www.linuxidc.com/Linux/2013-11/92670.htmOracle基础教程之通过RMAN复制数据库 http://www.linuxidc.com/Linux/2013-07/87072.htmRMAN备份策略制定参考内容 http://www.linuxidc.com/Linux/2013-03/81695.htmRMAN备份学习笔记 http://www.linuxidc.com/Linux/2013-03/81892.htmOracle数据库备份加密 RMAN加密 http://www.linuxidc.com/Linux/2013-03/80729.htm--------------------------------------分割线 --------------------------------------更多Oracle相关信息见Oracle 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=12本文永久更新链接地址