windows2008下 rman备份脚本
一般情况下 生产环境都是归档模式,但是有的公司一直用的是非归档方式
首先看下db的归档方式
SQL> archive log list;
如果是归档方式,就可以采用rman方式进行备份。
平台:server 2008
database:oracle 10g
备份策略参考ocp中的 workshop II 文档第三章(Differential Versus Cumulative部分)
周日全备份,周三和周五做累积增量备份,其他每天进行差异增量备份 下面是一个nocatlog方式的备份方案
1:周日 做一次0级备份,脚本名叫 run0-orcl.txt
保存策略:产生的备份在磁盘上保留14天,归档日志保留6天
脚本 run0-orcl.txt内容如下
run{
configure retention policy to recovery window of 14 days;
backup incremental level=0 database include current controlfile format 'C:\db_bak\fullback0_%d_%T_%s' plus archivelog format 'C:\archive_bak\arch0_%d_%T_%s' delete all input;
}
report obsolete;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete recovery window of 14 days;
delete noprompt archivelog until time 'SYSDAY-1';
注:如果是 windows2003,sysday应当改为 sysdate然后做一个 run0-orcl.bat的批处理文件,内容如下
C:
cd C:\备份脚本
set ORACLE_SID=ORCL
rman target / cmdfile='C:\备份脚本\run0-orcl.txt' log='C:\备份脚本\run0-orcl_%date:~0,10%.log'
2:周一、周二、周四和周六 做 1级差异增量备份,脚本名叫 run1d-orcl.txt
保存策略:产生的备份在磁盘上保留14天,归档日志保留6天
脚本 run1d-orcl.txt内容如下
run{
configure retention policy to recovery window of 14 days;
backup incremental level=1 database include current controlfile format 'C:\db_bak\fullback1d_%d_%T_%s' plus archivelog format 'C:\archive_bak\arch2d_%d_%T_%s' delete all input;
}
report obsolete;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete recovery window of 14 days;
delete noprompt archivelog until time 'SYSDAY-1';
然后做一个 run1d-orcl.bat的批处理文件,内容如下
C:
cd C:\备份脚本
set ORACLE_SID=ORCL
rman target / cmdfile='C:\备份脚本\run1d-orcl.txt' log='C:\备份脚本\run1d-orcl_%date:~0,10%.log'
3:周三和周五做 1级累积增量备份,脚本名字叫 run1c-orcl.txt
脚本 run1c-orcl.txt内容如下
run{
configure retention policy to recovery window of 14 days;
backup incremental level=1 cumulative database include current controlfile format 'C:\db_bak\fullback1c_%d_%T_%s' plus archivelog format 'C:\archive_bak\arch2c_%d_%T_%s' delete all input;
}
report obsolete;
crosscheck backup;
delete noprompt expired backup;
delete noprompt obsolete recovery window of 14 days;
delete noprompt archivelog until time 'SYSDAY-1';
然后做一个 run1c-orcl.bat的批处理文件,内容如下
C:
cd C:\备份脚本
set ORACLE_SID=ORCL
rman target / cmdfile='C:\备份脚本\run1c-orcl.txt' log='C:\备份脚本\run1c-orcl_%date:~0,10%.log'
4:设置执行任务
开始-----管理工具-----任务计划程序
然后按照上面的脚本创建新的任务计划
增量.jpg