前面的一些若干示例,我們對其已經有了一定的了解並且嘗試了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備份的介紹,望你能有所收獲。