通過前面的若干示例,我們已經了解並嘗試了rman備份的一些命令,但是在實際環境中,不可能每次備份都要求dba一條命令一條命令來敲(dba手指頭都痙攣啦,老闆看著更是肉疼,早知道就是打幾個字母,雇個打字的,成本不是更低麼),通過前面章節的學習我們立志一定要優化的幹活,所以我們應該寫好一段指令碼,然後放在伺服器端定時執行。dba只需要定期看看指令碼執行的結果就成了。
在真正寫指令碼之前,先明確一下我們的目標:
以windows環境為例(linux/u nix 環境下與此基本類似,對於rman的指令碼,甚至連改都不用改,就把呼叫rman指令碼的命令列以及備份集儲存路徑改改就行了!
編寫rman批處理檔案:
儲存至f: \oracle\script\backup\db_fullbak_jssbook.rman 。
上述的各項命令均在前面幾個章節中提到過,如果有看著眼生的話,再回去翻看前面的內容。命令是都知曉,可能有幾個引數會不明白其意義。
比如:backup命令中的skip inaccessible引數,大家別著急,靜心等候俺的外……外外……外外外……(大鍋,看個筆記而已,您不用拎著把菜刀到處晃吧,你你你,你別過來,我說還不成嘛), en ,看到大家如此虔誠,俺就提前透露這部分內容吧。
(1)backup skip引數。
skip inaccessible :表示跳過不可讀的檔案。我們知道一些 offline 狀態的資料檔案只要存在於磁碟上就仍然可能被讀取,但是可能有些檔案已經被刪除或移到它處而不可讀,加上這個引數就會跳過這些檔案。
skip offline :表示跳過 offline 的資料檔案;
skip readonly :表示跳過那些所在表空間為 read only 的資料檔案。
(2)filesperset引數。
該引數用來設定乙個備份集中最多能夠包含的檔案。本例中是出現在備份歸檔的子句中,因此用來限制每個歸檔備份集中最多只能包括20個歸檔檔案,如果有超過20個歸檔檔案需要備份的話,那麼在執行備份時會建立多個歸檔檔案的備份集。
使用backup命令備份其他型別的檔案(除了備份集),也支援filesperset引數,作用是相同的。
(3)allocate channel for maintenance命令。
這個命令乍看與allocate channel非常相似,再看還是相似,其實也確實是相似(俺是說相似,沒說相同),allocate channel for maintenance命令也是用來分配通道的,但分配的通道專用於change、delete、crosscheck命令,並且也不需要(而且也不能)包含在run塊中。
預設配置下configure已經分配了乙個指定 disk 的通道,因此也可以不需要執行allocate channel for maintenance命令,另外oracle也建議通過configure分配通道,來替代使用該命令維護管理用的專用通道,這可能會增強備份指令碼的複雜度。
設定要備份的資料庫sid為 jssbook ,將日誌按照日期輸出到f:\ oracle\script\backup\logs \ 目錄。
將上述內容儲存至f:\ oracle\script\backup\db_fullbak_jssbook.bat 。
利用「控制面板」中的「任務計畫」中的「新增任務計畫」圖示新增計畫,執行f:\ oracle\script\backup\db_fullbak_jssbook.bat ,設定日程安排中的時間為指定中的時間。
竣工!說是實戰,實際上演練的味道依然濃厚,誰讓咱這是在測試呢。上述指令碼已初具雛形,當然還應該再增加一些更合理的配置,比如根據您的資料庫大小,適當調整通道數量,以及加上日期的判斷,根據時間進行增量備份。
對於小型資料庫(不超100gb)的備份相對來說還是很簡單的,甚至每次備份都是完全備份也可以接受,因此在備份策略上能夠非常靈活,或者說隨意。對於那些數百g甚至過t的資料庫,我想就需要花些心思來考慮備份策略的問題了。
對於超大型資料庫的備份,基本上就沒有什麼固定套路,畢竟系統環境、儲存裝置及應用的特點都是不同的,不過有一點我想毋庸置疑:備份的目的是為了更好的恢復,因此做好備份與恢復之間開銷的平衡應該是所有備份策略的終極目標。
備份終於完了。不過別松氣,這僅僅只是開始,加油!
RMAN 增量備份 的 物件測試
在練習 rman incremental backup 時 參照 ocp tk 042 對於 rman 增量備份的物件 官網摘入如下 you can make incremental backups of databases,individual tablespaces or datafiles.顯...
rman刪除7天前備份 RMAN備份
rman備份 rman recovery manager 是隨oracle伺服器軟體一同安裝的工具軟體,它可以用來備份和恢復資料庫檔案 歸檔日誌和控制檔案,用來執行完全或不完全的資料庫恢復。與傳統工具相比,rman具有獨特的優勢 跳過未使用的資料塊。當備份乙個rman備份集時,rman不會備份從未被...
RMAN刪除備份
刪除備份 delete命令 用於刪除rman備份記錄及相應的物理檔案。當使用rman執行備份操作時,會在rman資料庫 rman repository 中生成rman備份記錄,預設情況下rman備份記錄會被存放在目標資料庫的控制檔案中,如果配置了恢復目錄 recovery catalog 那麼該備份...