Oracle Data Guard(一)簡介

一、什麼是Data Guard

  Oracle Data Guard可確保企業數據的高可用性,數據保護和災難恢復。
  Oracle Data Guard提供了一套全面的服務,可以創建,維護,管理和監視一個或多個備用數據庫,以使生產Oracle數據庫能夠在災難和數據損壞中倖免。Oracle Data Guard將這些備用數據庫維護爲生產數據庫的副本。然後,如果由於計劃內或計劃外的停機而使生產數據庫不可用,則Oracle Data Guard可以將任何備用數據庫切換爲生產角色,從而最大程度地減少與停機相關的停機時間。Oracle Data Guard可以與傳統的備份,還原和集羣技術一起使用,以提供高水平的數據保護和數據可用性。
  藉助Oracle Data Guard,管理員可以選擇通過將資源密集型備份卸載並向備用系統報告操作來提高生產數據庫的性能。
  下圖顯示了一個典型的Oracle Data Guard配置,該配置包含一個主數據庫,該主數據庫將重做數據傳輸到備用數據庫。備用數據庫位於主數據庫的遠程位置,用於災難恢復和 備份操作。可以在與主數據庫相同的位置配置備用數據庫。但是,對於災難恢復的目的,建議在遠程位置配置備用數據庫。
在這裏插入圖片描述
##

二、 Oracle Data Guard配置

  Oracle Data Guard配置可以包含一個主數據庫和最多30個目備用數據庫。Oracle Data Guard配置的成員由Oracle Net連接,並且可以在地理位置上分散。只要Oracle Data Guard配置的成員可以相互通信,就沒有位置限制。例如,您可以在與主數據庫相同的數據中心中擁有一個備用數據庫,在另一個數據中心中具有兩個備用數據庫。
  可以使用SQL命令行界面或Oracle Data Guard Broker界面來管理主數據庫和備用數據庫。代理提供了命令行界面(DGMGRL)和圖形用戶界面,這些界面集成在Oracle Enterprise Manager Cloud Control中。

2.1 主數據庫

  Oracle Data Guard配置包含一個生產數據庫,也稱爲主數據庫,該數據庫以Master角色運行。
  主數據庫是大多數應用程序訪問的數據庫,提供讀寫功能。
主數據庫可以是單實例Oracle數據庫或Oracle應用程序羣集(Oracle RAC)數據庫。

2.2 備用數據庫

  備用數據庫是主數據庫的事務一致副本。
  使用主數據庫的備份副本,最多可以創建30個備用數據庫,並將它們合併到Oracle Data Guard配置中。Oracle Data Guard通過從主數據庫傳輸重做數據,然後將重做應用於備用數據庫來自動維護每個備用數據庫。
  與主數據庫相似,備用數據庫可以是單實例Oracle數據庫或Oracle RAC數據庫。

2.2.1 備用數據庫的類型

2.2.1.1 物理備用數據庫

  提供與主數據庫在物理上完全相同的副本,磁盤上的數據庫結構逐塊與主數據庫相同。數據庫架構(包括索引)是相同的。物理備用數據庫通過“重做應用”保持與主數據庫同步,該應用恢復從主數據庫接收的重做數據,並將重做應用於物理備用數據庫。
  從Oracle Database 11 g第1版(11.1)開始,物理備用數據庫在爲只讀訪問而打開時可以接收並應用重做。因此,物理備用數據庫可以同時用於數據保護和報告。
  此外,從Oracle Database 11 g第2版(11.2.0.1)開始,物理備用數據庫可用於滾動安裝合格的一次性修補程序,修補程序集更新(PSU)和關鍵修補程序更新(CPU)。

2.2.1.2 邏輯備用數據庫

  儘管數據的物理組織和結構可以不同,但包含與生產數據庫相同的邏輯信息。邏輯備用數據庫通過SQL Apply與主數據庫保持同步,SQL Apply將重做中從主數據庫接收的數據轉換爲SQL語句,然後在備用數據庫上執行SQL語句。
  邏輯備用數據庫的靈活性使得可以升級Oracle數據庫軟件(補丁集和新的Oracle數據庫版本)並以滾動方式執行其他數據庫維護,而幾乎不會停機。從Oracle Database 11g開始,瞬態邏輯數據庫滾動升級過程也可以與現有的物理備用數據庫一起使用。

2.2.1.3 快照備用數據庫

  快照備用數據庫是完全可更新的備用數據庫。類似於物理或邏輯備用數據庫,快照備用數據庫從主數據庫接收並存檔重做數據。與物理或邏輯備用數據庫不同,快照備用數據庫不應用其接收的重做數據。快照備用數據庫接收到的重做數據要先將快照備用數據庫進行的本地更新丟棄,然後再將快照備用數據庫轉換回物理備用數據庫,然後才能應用。
  快照備用數據庫最好用於需要臨時的物理備用數據庫,可更新快照的方案。例如,使用Oracle Real Application Testing選項在主數據庫上捕獲數據庫工作負載,然後在快照備用數據庫上對其進行重放以進行測試。由於快照備用數據庫接收到的重做數據在轉換回物理備用數據庫之前不會應用,因此從主數據庫故障中恢復所需的時間與所需應用的重做數據量成正比。

三、Oracle Data Guard三種保護模式

  無論何種情況,企業都無法承受丟失數據的風險。在其他情況下,在不太可能發生多次故障的情況下,數據庫的可用性可能比任何潛在的數據丟失更爲重要。最後,某些應用程序始終需要最高的數據庫性能,因此,如果任何組件發生故障,則可以忍受少量的數據丟失。  Oracle Data Guard提供了三種不同的數據保護模式:

3.1 Maximum Availability

  Primary Database每個事務的Redo日誌要寫到本地和Standby Database中才能提交。
  這個和最大保護模式不同的是,如果寫入到Standby Database失敗,Primary Database不會自動關閉。這時Primary Database會自動轉換爲Maximum Performance模式,等待問題解決並且Standby Database再次和Primary Database同步之後,Primary Database會自動的轉換爲Maximum Availability。
  這種模式要求Standby Database必須配置Standby Redo log,而Primary Database必須配置爲LGWR、SYNC、AFFIRM方式歸檔。
除某些雙重故障(例如備用數據庫故障後的主數據庫故障)外,此保護模式可確保零數據丟失

3.2 Maximum Performance

  這個模式是Oracle默認模式,他更加側重對Primary Database的可用性不造成任何影響。
  Primary Database上的事務的Redo日誌只要寫到本地日誌文件就可以提交,不必等待到Standby Database的傳遞完成。
  Primary Database的Redo流可以異步的發送到Standby Database。
  這種模式通過LGWR ASYNC或者ARCH實現,Standby Database也不要求使用Standby Redo Log。
與最大可用性模式相比,此保護模式提供的數據保護略少,並且對主數據庫性能的影響最小

3.3 Maximum Protection

  Primary Database上的每個事務的Redo日誌必須在本地和Standby Database上都寫入日誌文件後才能提交,如果不能寫入到Standby Database,Primary Database就會自動關閉(掛起)以防止數據丟失。
該模式性能不佳,但數據保護性最高

四、Oracle Data Guard優勢

  Oracle Data Guard提供了一個高效、全面的災難恢復和高可用性解決方案。

4.1 Oracle Data Guard優勢

  • 快速,手動或自動的數據庫故障轉移,可解決數據損壞,丟失的寫入以及數據庫和站點故障的問題,Data Guard的恢復時間可能爲數秒,而傳統解決方案的恢復時間爲數小時
  • 使用Oracle Active Data Guard遠程同步在廣域網上實現零數​​據丟失
  • 使用Oracle Active Data Guard遠程同步進行重做傳輸壓縮和重做傳輸到多達29個遠程目標的卸載處理
  • 自動損壞修復通過從物理備用數據庫或主數據庫複製良好的塊來自動替換主備用數據庫或物理備用數據庫上的物理塊損壞
  • 提供最全面的保護,防止數據損壞和主數據庫上的寫入丟失
  • 使用Data Guard切換減少了存儲,Oracle ASM,Oracle RAC,系統遷移和某些平臺遷移以及更改的停機時間
  • 通過Data Guard滾動升級功能減少停機時間
  • 能夠在不犧牲RTO和RPO使用實時查詢的情況下將備用數據庫用作只讀資源的RTO和RPO的能力下,減輕主要數據庫活動(例如備份,查詢或報告)的負擔。
  • 作爲整個站點故障轉移操作的一部分,能夠使用Oracle數據庫文件系統(DBFS)或Oracle自動存儲管理集羣文件系統(Oracle ACFS)集成非數據庫文件
  • 站點發生故障後無需重新啓動實例,重新制作存儲母帶或重新連接應用程序
  • 對應用程序的透明度
  • 對應用程序故障轉移提供透明和集成的支持(應用程序連續性和事務保護)
  • 有效的網絡利用率
  • 數據庫內存支持
  • 集成服務和客戶端故障轉移,減少了整體應用程序的RTO
  • 使用現有的Oracle技術(例如Oracle RAC,RMAN,Oracle GoldenGate,企業管理器,運行狀況檢查(orachk)和DBCA)增強和集成Data Guard意識。

五、總結

  Oracle通過Data Guard可確保企業數據的高可用性,數據保護和災難恢復。類似於MySQL的SLAVE,但是MySQL的SLAVE類似邏輯備庫,並且目前MySQL不支持自動切換的。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章