以前的文章我们对Oracle实战RMAN 备份的实际操作以及一些常用的命令有过介绍,我们大家都知道Oracle RMAN备份中的一些命令,在实际环境中,其不可能每次备份都要求DBA一条命令一条命令来敲。
通过前面章节的学习我们立志一定要优化的干活,所以我们应该写好一段脚本,然后放在服务器端定时执行。DBA只需要定期看看脚本执行的结果就成了。
在真正写脚本之前,先明确一下我们的目标:
每天夜间1点执行。
数据库全备,同时备份控制文件及归档日志文件,备份文件保存至F:\oracle\backup\目录下,并在完成归档日志文件备份后,自动删除已备份的归档日志。
备份保留14天,过期则自动删除。
保留操作日志备查。
以Windows环境为例(Linux/U NIX 环境下与此基本类似,对于Oracle实战RMAN的脚本,甚至连改都不用改,就把调用RMAN脚本的命令行以及备份集保存路径改改就行了!
8.6.1 编写 RMAN 批处理文件
编写Oracle实战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配置都将存入目标端数据库的控制文件,只要无人改过就一直有效。
上述的各项命令均在前面几个章节中提到过,如果有看着眼生的话,再回去翻看前面的内容。命令是都知晓,可能有几个参数会不明白其意义。
【编辑推荐】