Oracle資料庫的可恢復性設定

路途中的人2012發表於2016-02-03
整理自《Oracle 11g OCP/OCA 認證指南

001
    為了保證資料庫的最大可恢復性,必須多路複用控制檔案;必須多路複用聯機重做日誌;必須以歸檔日誌模式執行資料庫,並多路複用歸檔日誌檔案;最後必須作常規備份。

002 保護控制檔案
    控制檔案雖小,但很重要。它用於載入資料庫,在資料庫開啟時,可不斷地讀和寫控制檔案。如果控制檔案丟失了,則可以進行恢復;但這一操作並不總是很容易,因此最好不要出現這種情況,因為必須至少有兩個位於不同物理裝置上的控制檔案的副本。最多可有8個控制檔案的多路複用副本。
    如果控制檔案是多路複用的,那麼從導致控制檔案丟失的介質失敗中恢復只要將備份的控制檔案複製到受損或丟失的控制檔案之上就行了。但控制檔案受損會導致停機。當Oracle檢測控制檔案是受損還是丟失時,例項會因為例項失敗立即終止。
    要移動或新增控制檔案副本,首先關閉資料庫。在資料庫開啟時不能進行任何控制檔案操作。然後使用作業系統命令移動或複製控制檔案。再接著,編輯control_files引數,指向新的位置。如果使用靜態的initSID.ora引數檔案,則可以用任何文字編輯器編輯它。如果使用動態的spfileSID.ora引數檔案,則以nomount模式啟動資料庫,發出alter system命令並把作用域設為spfile(之所以是必要的,因為它是個靜態引數),將新的副本用於資料庫下次載入時。最後,像平常一樣關閉然後開啟資料庫。

003 保護聯機重做日誌檔案
    DBA不允許丟失當前聯機日誌檔案組的所有備份。如果出現這種情況,那麼就會丟失資料。在丟失當前聯機日誌檔案組的所有成員時不丟失資料的唯一方式是配置一個無資料損失的data guard環境。
    為什麼受不丟失當前聯機日誌檔案組的所有成員至關重要呢?答案與例項恢復有關。例項崩潰後,SMON程式會使用當前聯機日誌檔案組的內容進行前滾恢復,從而修復資料庫中的任何損壞。如果當前聯機日誌檔案組由於未被多路複用以及一個成員因介質受損被破壞而變得不可用,那麼SMON程式無法進行前滾恢復。如果SMON程式無法進行前滾修正資料庫的損壞,那麼不可能開啟資料庫。
    與多路複用的控制檔案一樣,一個日誌檔案組中的多個成員在理想情況下應當位於不同的磁碟上不同的控制器上。
    對聯機重做日誌檔案的寫操作最終將成為Oracle環境中的一個瓶頸:執行DML語句的速度不能快於LGWR程式將變更寫至磁碟的速度。因此在高吞吐量的系統中,需要確保重做日誌檔案位於速度最快的控制器所服務的最快速磁碟上。
    如果重做日誌檔案組的一個成員被損壞或丟失,那麼資料庫在存在備份成員的情況下仍然會保持開啟狀態。這與控制檔案不同,控制檔案的任何副本的損壞都會使資料庫立即崩潰。同樣,只要存在至少兩個重做日誌檔案組並且每個組至少具有一個有效的成員,那麼在資料庫開啟時也可以新增或移動重做日誌檔案組以及組中的成員。

004 歸檔日誌模式和歸檔器程式
變數
描述
%d
唯一的資料庫識別符號,如果將多個資料庫歸檔到同一目錄,這是必須的
%t
執行緒號,顯示為v$instances檢視的thread#列,除了在RAC資料庫中使用之外,這個變數沒有任何意義
%r
場景(incarnation)號。如果進行了不完全恢復,這個變數就十分重要
%s
日誌切換序列號。這個變數能夠保證任何一個資料庫中的歸檔日誌都不會彼此重寫
歸檔相關的幾個引數:
log_archive_dest_n
log_archive_dest
log_archive_duplex_dest
log_archive_min_succeed_dest

    如果ARCn程式遇到寫歸檔日誌檔案的問題,最終資料庫會掛起。這將取決於目標數、必須成功的最少數目,以及有問題的目標是否是強制的。歸檔失敗的一般原因是目標已滿。因此有必要監視歸檔的程式,將歸檔日誌檔案從磁碟目標遷移至磁帶,為更多的歸檔操作釋放空間。在任何情況下,應定期將所有歸檔日誌備份到磁帶上。這可手動或使用RMAN完成。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29067253/viewspace-1986010/,如需轉載,請註明出處,否則將追究法律責任。

相關文章