不少rman的文章或書籍的開頭,老是會先寫爲何要用rman,rman的優點等等。俺恰恰不如此,反倒把它放到最後面。俺認爲但凡關注rman,無論了不瞭解、知不知道爲何要用,都不會影響到其選擇rman的決定。至於其優點,相信經過前面篇章的論述,你們對其特色已經很瞭解,我再總結性的摘抄一些rman 的優勢 ,你們對號選擇看看它們有沒有自詡吧。數據庫
各類故障背景下的恢復方法oracle |
|||
丟失或損壞的文件性能 |
歸檔模式學習 |
數據庫狀態測試 |
恢復方法spa |
一個或多個數據文件操作系統 |
不歸檔模式日誌 |
關閉狀態ci |
利用一致的徹底數據庫備份修復整個數據庫,自從備份以後發生的全部修改都將丟失;修復數據庫後不須要進行恢復,利用RESETLOGS選項直接打開數據庫;table 注意:在這種狀況下進行恢復時,唯一一種能夠不利用RESETLOGS選項打開數據庫的狀況就是在執行最近一次備份以後,聯機重作日誌中的內容沒有被覆蓋掉。 |
一個或多個數據文件,以及聯機重作日誌文件 |
不歸檔模式 |
關閉狀態 |
利用一致的徹底數據庫備份修復整個數據庫,自從備份以後發生的全部修改都將丟失;修復數據庫後不須要進行恢復,利用RESETLOGS選項直接打開數據庫。 |
一個或多個數據文件以及全部的控制文件 |
不歸檔模式 |
關閉狀態 |
利用一致的徹底數據庫備份修復整個數據庫,自從備份以後發生的全部修改都將丟失;修復數據庫後不須要進行恢復,利用RESETLOGS選項直接打開數據庫。 |
注:以上三種不歸檔模式下的數據庫恢復都須要在數據庫關閉狀態下進行,而且須要擁有正確的控制文件備份。 |
|||
一個或多個數據文件 |
歸檔模式 |
加載狀態 |
在數據庫打開狀態下執行表空間或數據文件恢復操做,首先將表空間或數據文件置爲脫機狀態,而後利用備份修復它們,對它們進行恢復,最後再將它們從新置爲聯機狀態;任何數據修改都不會丟失,而且在恢復過程當中數據庫的其餘部分仍然是能夠訪問的。 |
所有的數據文件 |
歸檔模式 |
關閉狀態 |
利用備份修復數據文件,而後使用控制文件加載數據庫,而且執行徹底恢復;若是全部的聯機重作日誌文件都沒有丟失或損害,最後能夠用正常方式打開數據庫(不須要使用RESETLOGS選項) |
一個或多個數據文件以及恢復所需的歸檔重作日誌文件。 |
歸檔模式 |
加載狀態 |
對包含丟失的數據文件的表空間進行基於時間的表空間恢復,將這個表空間恢復到最近的可用歸檔重作日誌所對應的時刻下的狀態。 |
全部的控制文件,還可能包括一個或多個數據文件 |
歸檔模式 |
未加載狀態 |
利用備份修復丟失的控制文件與數據文件,而後對數據文件進行恢復;任何數據修改都不會丟失,可是在恢復過程當中數據庫將處於不可用狀態。 |
全部的控制文件,還可能包含一個或多個數據文件,以及恢復所需的歸檔懲一儆百日誌文件與聯機重作日誌文件 |
歸檔模式 |
未加載狀態 |
利用備份修復丟失的控制文件與數據文件,而後進行不徹底恢復,將數據庫恢復到最近的可用歸檔重作日誌所對應的時刻下的狀態;包含在丟失的日誌文件中以及它隨後的其它日誌文件中的數據修改都將會丟失;最後須要使用RESETLOGS選項來打開數據庫。 |
注:歸檔模式下的數據庫恢復並不必定要求關閉數據庫,其中某些狀況要求在加載模式下進行恢復,而且也須要擁有正確的控制文件備份。 |
不一樣備份恢復方式的特色 |
|
RMAN 方式 |
自定義方式 |
在對聯機數據文件進行備份時,RMAN將對當前處於不一致狀態的數據塊進行反覆讀取,直到讀取到一個一致狀態的數據塊爲止;你不將包含數據文件的表空間設置爲進入備份模式 |
必須將包含要進行備份的數據文件的表空間設置爲進入備份狀態,而後在備份完成後再將表空間設置爲退出備份模式;在表空間處於備份模式期間,數據庫的性能將會因爲頻繁的I/O操做而受到嚴重影響(oracle會將用戶修改的數據塊先寫入聯機重作日誌文件中) |
能夠進行增量備份,即僅對那些上一次自動備份以來發生變化的數據塊進行備份;可使用增量備份對數據庫進行恢復,這就意味着你能夠對運行在不歸檔模式下的數據庫進行恢復;不過當數據庫運行在不歸檔模式時,所作的增量備份也必須是一致的(即徹底關閉狀態下創建的備份) |
在備份時只能對全部的數據塊進行備份(複製文件),而不能僅對變化的數據塊進行備份;若是數據庫運行在不歸檔模式下,就只能進行數據庫修復而不能進行任何恢復操做。 |
在備份過程當中會對複製的每個數據塊進行校驗,在利用備份進行修復時也會對數據庫的正確性進行檢查 |
在備份和修復過程當中都不會對數據塊進行任何校驗與檢查;若是修復所使用的備份中包含損壞的數據塊,那麼恢復後的數據庫中將包含錯誤的數據 |
在備份過程當中僅會複製那些包含數據的數據塊,而並不會複製那些徹底空白的數據塊,這樣獲得的備份文件的大小就會大大縮小。 |
在備份過程當中只能徹底複製數據文件,不管數據文件中包含了多少實際數據,備份的大小與數據庫的大小是相同的。 |
利用恢復目錄來存放與備份和恢復相關的重要信息,包括: l 數據庫中包含的模式 l 哪些文件須要進行備份 l 哪些文件在通過了指定的天數後尚未進行新的備份 l 哪些文件因爲已經有了更新的備份或者已經沒法用戶恢復過程而須要刪除 l 當前RMAN的參數配置等 |
不會對用戶的備份與恢復操做進行任何記錄,除非你本身以手工方式進行記錄 |
能夠將一系統相關的RMAN命令做爲腳本保存在檔案庫中,在須要時招行這些腳本就能夠完成特定的備份或恢復操做 |
只能將備份或恢復命令保存成操做系統批處理文件,維護起來比較困難。 |
能夠利用RMAN備份輕鬆地複製出一個與當前數據庫如出一轍的數據庫,你能夠利用複製出來的數據庫做爲測試用數據庫或者備用數據庫使用 |
若是要創建測試用數據庫或備份數據庫,必須按照建立普通數據庫的過程來進行復雜的操做。 |
在進行備份或修復操做時能夠自動進行並行操做 |
必須根據要進行備份或恢復的文件以手工方式並行招行操做系統命令 |
提供歸檔日誌自動容錯功能:若是RMAN發現某個備份中丟失了或損壞一個歸檔重作日誌文件,它會自動利用其它備份中的相同的歸檔重作文件來進行替換 |
沒法自動提供歸檔日誌的容錯替換功能 |
經過使用介質管理API,RMAN能夠與其它第三方的介質管理軟件緊密地結合在一塊兒進行工做。 |
沒法與任何第三方介質管理軟件直接結合在一塊兒進行工做。 |
在前面我已經不止一次的提到過,RMAN很是簡單,同時也很是靈活,通過這近一個月的學習和實踐,咱們介紹了不少基礎性的操做,固然RMAN的功能毫不止於此,一些更高級的功能,好比數據塊恢復,經過Duplicate建立standby等等。路漫漫其修遠矣,吾將上下而求索~~~~~