您的位置:首页 > 其它

Win2008下expdp和rman备份策略及计划任务配置

2016-01-26 10:34 453 查看
本次演示在win2008服务器上,进行oracle的expdp备份和rman备份,并制定相应的计划任务

1、expdp备份

expdp备份策略:

保留7天的expdp导出文件:每天19点删除7天前的expdp备份,每天20点expdp备份。

--EXPDP文件备份路径: D:\mdp_db_backup\mdp_db_expdpbak\expdpfile\

--EXPDP备份脚本路径: D:\mdp_db_backup_scripts\dbexpdp_scripts\

--设置directory

SQL> CREATE OR REPLACE DIRECTORY expdir as 'D:\mdp_db_backup\mdp_db_expdpbak\expdpfile\';


--每天19:00执行删除的脚本 D:\mdp_db_backup_scripts\dbexpdp_scripts\rm_mdpexpdp.bat

set DaysAgo=7
set LogPath=D:\mdp_db_backup\mdp_db_expdpbak\expdpfile\
forfiles -p %LogPath% -m *.DMP -d -%DaysAgo% -c "cmd /c del /q @FILE"
注释:这里使用了forfiles来删除7天前的文件
参考 http://www.cnblogs.com/kerrycode/p/4164268.html
--每天20:00执行的备份脚本 D:\mdp_db_backup_scripts\dbexpdp_scripts\mdpexpdp.bat

set name=%date:~0,4%-%date:~5,2%-%date:~8,2%
C:\oracle\MDP\11203\BIN\expdp.exe system/system directory=expdir dumpfile=scott_%name% logfile=scott_%name% schemas=scott compression=ALL EXCLUDE=STATISTICS


2、计划任务配置

下面以20:00的expdp备份为例,配置计划任务如下:

(1)控制面板—管理工具—任务计划程序



(2)创建任务— 写入计划任务名称, 设定“不管用户是否登录都要运行” 选项



(3)设定 触发器 中的计划时间,这里是每天的20:00点执行



(4)设定 操作 中要执行的bat脚本

(这里选择的就是上述的 D:\mdp_db_backup_scripts\dbexpdp_scripts\mdpexpdp.bat脚本)



设置好之后会出现一个计划任务,如下:



每天19:00执行删除的脚本D:\mdp_db_backup_scripts\dbexpdp_scripts\rm_mdpexpdp.bat

的计划任务参照如上图配置即可,这里不再演示。

3、rman备份

rman备份策略:

可以恢复7天内的数据:每天22点删除多余和无效的备份,每天23点备份归档日志,每周三、六的23:50进行数据库的0级备份。

rman备份文件目录:

--归档文件备份路径: D:\mdp_db_backup\mdp_db_rmanbak\arch\

--控制文件备份路径: D:\mdp_db_backup\mdp_db_rmanbak\controlfile\

--数据库文件备份路径: D:\mdp_db_backup\mdp_db_rmanbak\dbfile\

--数据库文件备份日志路径:D:\mdp_db_backup\mdp_db_rmanbak\dbfile_log\

--RMAN备份脚本路径:D:\mdp_db_backup_scripts\dbrman_scripts\

(1)rman配置

CONFIGURE RETENTION POLICY TO RECOVERYWINDOW OF 7 DAYS;                                            --恢复7天内数据的rman备份

CONFIGURE CONTROLFILE AUTOBACKUP ON;                                                               --控制文件自动备份

CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR DEVICE TYPE DISK TO 'D:\mdp_db_backup\mdp_db_rmanbak\controlfile\%F';  --控制文件自动目录

CONFIGURE SNAPSHOT CONTROLFILE NAME TO 'D:\mdp_db_backup\mdp_db_rmanbak\controlfile\snapcf_MDP.f'; --控制文件快照


(2)rman脚本

--删除多余和无效备份 D:\mdp_db_backup_scripts\dbrman_scripts\delobsolete.txt

run {
crosscheck backup;
delete noprompt obsolete;
delete noprompt expired backup;
}
exit


--备份归档日志 D:\mdp_db_backup_scripts\dbrman_scripts\arch.txt

sql 'alter system archive log current' ;

run {
allocate channel a1 type disk  FORMAT  'D:\mdp_db_backup\mdp_db_rmanbak\arch\' ;
backup filesperset 10 format 'D:\mdp_db_backup\mdp_db_rmanbak\arch\arch_%T_%d_%t_%s_%p' archivelog all delete input;
release channel a1;
}

exit


--数据库0级备份 D:\mdp_db_backup_scripts\dbrman_scripts\level0.txt

sql 'PURGE DBA_RECYCLEBIN';
sql 'alter system archive log current' ;

run {
allocate channel a2 type disk  ;
backup as compressed backupset incremental level 0 DATABASE filesperset 5  format 'D:\mdp_db_backup\mdp_db_rmanbak\dbfile\db_%T_%d_%t_%s_%p' ;
release channel a2;
}

exit


(3)计划任务的bat脚本

--删除多余和无效备份(每天22:00删除)

D:\mdp_db_backup_scripts\dbrman_scripts\mdpdbdel.bat

C:\oracle\MDP\11203\BIN\rman.exe target /  nocatalog  cmdfile  'D:\mdp_db_backup_scripts\dbrman_scripts\delobsolete.txt'   log 'D:\mdp_db_backup\mdp_db_rmanbak\dbfile_log\mdpdbrmandel_%date:~0,4%-%date:~5,2%-%date:~8,2%.log'


----备份归档日志(每天的23:00备份)

D:\mdp_db_backup_scripts\dbrman_scripts\mdpdbarch.bat

C:\oracle\MDP\11203\BIN\rman.exe target /  nocatalog  cmdfile  'D:\mdp_db_backup_scripts\dbrman_scripts\arch.txt'   log 'D:\mdp_db_backup\mdp_db_rmanbak\dbfile_log\mdpdbrmanarch_%date:~0,4%-%date:~5,2%-%date:~8,2%.log'


--数据库0级备份(每周三、六的23:50备份)

D:\mdp_db_backup_scripts\dbrman_scripts\mdpdblev0.bat

C:\oracle\MDP\11203\BIN\rman.exe target /  nocatalog  cmdfile  'D:\mdp_db_backup_scripts\dbrman_scripts\level0.txt'   log 'D:\mdp_db_backup\mdp_db_rmanbak\dbfile_log\mdpdbrmanlevel0_%date:~0,4%-%date:~5,2%-%date:~8,2%.log'


之后配置rman的计划任务,可参照之前expdp的计划任务配置,这里不再做演示;

最后所有的计划任务配置如下:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: