以前的文章我們對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配置都將存入目標端數據庫的控制文件,只要無人改過就一直有效。
上述的各項命令均在前面幾個章節中提到過,如果有看著眼生的話,再回去翻看前面的內容。命令是都知曉,可能有幾個參數會不明白其意義。