前面的一些若干示例,我们对其已经有了一定的了解并且尝试了Oracle实战RMAN备份的相关的一些命令,但是我们在实际的操作环境中,是不可能每次的相关备份都是要求DBA一条命令一条命令来敲通过前面章节的学习我们立志一定要优化的干活。
所以我们应该写好一段脚本,然后放在服务器端定时执行。DBA只需要定期看看脚本执行的结果就成了。
在真正写脚本之前,先明确一下我们的目标:
每天夜间1点执行。
数据库全备,同时备份控制文件及归档日志文件,备份文件保存至F:\oracle\backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志。
备份保留14天,过期则自动删除。
保留操作日志备查。
以Windows环境为例(Linux/U NIX 环境下与此基本类似,对于RMAN的脚本,甚至连改都不用改,就把调用RMAN脚本的命令行以及备份集保存路径改改就行了!
8.6.1 编写 RMAN 批处理文件
编写RMAN批处理文件:
- RUN {
- CONFIGURE RETENTION POLICY TO RECOVERY WINDOW OF 14 DAYS;
- CONFIGURE CONTROLFILE AUTOBACKUP ON;
- CONFIGURE CONTROLFILE AUTOBACKUP FORMAT FOR
DEVICE TYPE DISK TO ' F:\ORACLE\BACKUP\%F ' ;- ALLOCATE CHANNEL C1 DEVICE TYPE DISK FORMAT '
F:\ORACLE\BACKUP\BAK_%U ' ;- 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;
保存至F: \oracle\script\backup\db_fullbak_jssbook.rman 。
提示:
前几行中的CONFIGURE命令也可以放到批处理脚本之外执行,只需要执行一次即可,因为所有的CONFIGURE配置都将存入目标端数据库的控制文件,只要无人改过就一直有效。
上述的各项命令均在前面几个章节中提到过,如果有看着眼生的话,再回去翻看前面的内容。命令是都知晓,可能有几个参数会不明白其意义。
比如:BACKUP命令中的SKIP INACCESSIBLE参数,大家别着急,静心等候俺的外……外外……外外外……(大锅,看个笔记而已,您不用拎着把菜刀到处晃吧,你你你,你别过来,我说还不成嘛), en ,看到大家如此虔诚,俺就提前透露这部分内容吧。
以上的相关内容就是对Oracle实战RMAN备份的介绍,望你能有所收获。
【编辑推荐】