為資料庫可恢復做一些必要的準備工作

與刃爭鋒發表於2013-12-26

計劃常規備份:大多數介質故障需要從備份還原丟失或損壞的檔案.

多路複用控制檔案:因為所有控制檔案都相同,所以丟一個兩個的進行恢復不難.但都丟了就棘手了——建議至少三個,並放在不同介質不同路徑下.

多路複用重做日誌組:要從例項故障或介質故障進行恢復,必須依賴重做日誌,建議每個重做日誌組有兩個副本.

保留重做日誌的歸檔副本:


控制檔案

二進位制檔案,用於說明資料庫的結構.只要裝載或開啟了資料庫,oracle伺服器就必須能隨時寫入控制檔案.如果此檔案不存在,就不能裝載資料庫.
理想情況下,控制檔案放在不同路徑(最好是不同磁碟上)

sql>shutdown immediate
複製一個新的控制檔案起名為control04.
sql>startup nomount
sql>alter system set control_files="D:\ORACLE\PRODUCT\10.2.0\ORADATA\BOB\CONTROL01.CTL","D:\ORACLE\PRODUCT\10.2.0\ORADATA\BOB\CONTROL02.CTL",
"D:\ORACLE\PRODUCT\10.2.0\ORADATA\BOB\CONTROL03.CTL","D:\ORACLE\PRODUCT\10.2.0\ORADATA\BOB\CONTROL04.CTL" scope=spfile;
sql>startup force


重做日誌檔案

重做日誌組由一個或多個重做日誌檔案組成.組中的每個日誌檔案都是其它日誌檔案的副本.oracle建議每個組至少兩個檔案,分佈在不同的磁碟或控制器上.丟失了整個日誌組可以算最嚴重的介質故障,因為會導致丟失資料.但丟了多個成員的日誌組中的一個或幾個成員,只要有一個成員正常,就不算個事.這並不會影響資料庫執行,但會在alert日誌中報警.

謹記!不能在事務處理資訊寫入到日誌之前完成提交,所以重做日誌會嚴重影響資料庫的效能.因此強烈建議將重做日誌檔案放到速度最快的磁碟中.如果可能,不要將其它任何資料庫檔案與重做日誌檔案儲存在同一磁碟上.因為在給定時間只能寫入一個組,所以同一磁碟中包含多個組的成員不會受損.

sql>alter database add logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BOB\REDO01A.LOG' to group 1
sql>alter database add logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BOB\REDO02A.LOG' to group 2
sql>alter database add logfile member 'D:\ORACLE\PRODUCT\10.2.0\ORADATA\BOB\REDO03A.LOG' to group 3


然後切換幾次日誌,讓新增的日誌組同步可用.
sql>alter system switch logfile

為資料庫可恢復做一些必要的準備工作

歸檔日誌檔案

例項會將聯機重做日誌組檔案視為一個可在其中儲存事務處理資訊的迴圈緩衝區,因而會填充一個組,再轉到下個組,寫入所有組後,例項開始覆蓋第一個日誌組中的資訊.

要配置資料庫以獲得最大的可恢復性,必須在允許資料庫覆蓋重做資訊之前,指示資料庫生成聯機重做日誌組的副本,也就是歸檔日誌(archivelog)需執行以下步驟:

指定歸檔日誌的命名慣例.

指定用於歸檔日誌的一個或多個目的地.

將資料庫置於歸檔archivelog模式.

注:如果使用快速恢復區,1和2是不必要的.將資料庫置於archivelog模式之前,該目的地必須存在.如果將某個目錄指定為一個目的地,則該目錄名末尾應加斜槓.
具體請參考:將資料庫改為歸檔日誌模式


備份策略可包括: 

–  整個資料庫(整體備份) 
–  部分資料庫(部分備份) 

備份型別可表明: 
–  包含所有資料檔案中的所有資訊(完全備份) 
–  僅包含自以前某次備份以來更改過的資訊(增量備份) 

備份模式可為: 

 –  離線(一致備份或冷備份)                                                                            

 –  聯機(非一致備份或熱備份)                                                         

                                                                                     
整個資料庫備份包括所有資料檔案和至少一個控制檔案.(請記住!資料庫中的所有控制檔案都是相同的.)                                                                         
部分資料庫備份可能包括零個或多個表空間、零個或多個資料檔案、一個控制檔案(也可能不包括備份控制檔案.)                                                                       
完全備份會建立所備份的檔案中包含資料的所有資料塊的副本.                                                       
                                                                                     
增量備份會建立一個包含自以前某次備份以來更改過的所有資料塊的副本.Oracle  Database 10g 支援兩個級別的增量備份(0 和1).級別0 或基線備份等同於完全備份, 其中包含所有資料塊。級別1 增量備份可以採用以下兩種型別之一:累積或差異。累積備份會備份自上次級別0 備份以來的所有更改。差異備份會備份自上次增量備份以來的 所有更改(可以採用級別0 或級別1). 

離線備份 (也稱為一致備份)是在未開啟資料庫的情況下進行的.之所以稱為一致備份, 是因為進行備份時,資料檔案頭中的系統更改號(SCN) 與控制檔案中的SCN 相匹配. 
聯機備份 (也稱為熱備份或非一致備份)是在開啟資料庫的情況下進行的.之所以稱為 非一致備份,是因為在開啟了資料庫的情況下不能確保資料檔案與控制檔案同步.如果使用了非一致備份,則需要按順序進行恢復.


映像副本是指資料或歸檔日誌檔案的副本(類似於只使用作業系統命令複製檔案)  
備份集是一個或多個二進位制檔案的集合,其中包含一個或多個資料或歸檔日誌檔案.使用備份集時,不會儲存空資料塊,因此備份集在磁碟或磁帶上佔用的空間比較小.通過壓縮備份集可進一步降低備份的空間要求.                                                                   

 映像副本必須備份到磁碟上,備份集可傳送到磁碟或直接傳送到磁帶.                                                    

將備份儲存為映像副本的優勢在於改善了還原操作的粒度.使用映像副本時,只需要從磁帶檢索一個或多個檔案.使用備份集時,必須先從磁帶檢索整個備份集,然後才能提取所需的檔案. 

將備份儲存為備份集的優勢在於可更好地利用空間.大多數資料庫都包含20% 或更多的空塊.映像副本會備份每個資料塊,即使資料塊為空也備份.備份集可明顯地降低備份所需的空間.在多數系統中,備份集的優勢強於映像副本的優勢.


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

相關文章