您的位置:首页 > 其它

用rman同时备份到多个路径下

2016-03-31 16:20 369 查看
某客户备份问题:

原计划是做两份脚本
脚本1 晚上11:00运行,备份到ASM
脚本2 晚上11:10运行,备份到本地 /home/oracle/backup,脚本中附有删除归档delete all input
这样一种方法被客户拒绝,他想做两份完全一样的备份,这样写两个脚本,备份可能会相差几个归档

具体操作如下:
对数据文件及归档需设置
CONFIGURE DATAFILE BACKUP COPIES FOR DEVICE TYPE DISK TO 2;
CONFIGURE ARCHIVELOG BACKUP COPIES FOR DEVICE TYPE DISK TO 2;
CONFIGURE CHANNEL DEVICE TYPE DISK FORMAT '+DATA/rmanbak','/home/oracle/backup';

需要设置数据文件及归档的COPIES为2 ,及指定两个备份路径

备份脚本format中指定两个路径
备份脚本如下:

export ORACLE_SID=orcl1

export FILE_PATH=+DATA/rmanbak

export ORACLE_HOME=/u01/app/oracle/product/11.2.0/db_1

export PATH=$PATH:$ORACLE_HOME/bin

# rman level0 backup

$ORACLE_HOME/bin/rman log=/home/oracle/backup/logfile/rman_level0_`date '+%y%m%d%H%M%S'`.log <<EOF

connect target /

run{

crosscheck backup;

crosscheck archivelog all;

delete noprompt expired backup;

delete noprompt expired archivelog all;

delete noprompt obsolete;

allocate channel c1 type disk;

allocate channel c2 type disk;

allocate channel c3 type disk;

backup database format '${FILE_PATH}_lv0_%d_%T_%u_%p','/home/oracle/backup/full_lv0_%d_%T_%u_%p';
sql 'alter system archive log current';

sql 'alter system archive log current';

backup archivelog all format '${FILE_PATH}/arch_lv0_%d_%T_%u_%p','/home/oracle/backup/arch_lv0_%d_%T_%u_%p' delete all input;
backup current controlfile format '${FILE_PATH}/control_lv0_%d_%T_%u_%p','/home/oracle/backup/control_lv0_%d_%T_%u_%p';
release channel c1;

release channel c2;

release channel c3;

}

EXIT

EOF

添加delete all input之后会在两个备份都结束之后再进行删除
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: