Oracle 11gR2 dataguard 介紹
“當我們建立生產系統時,我們的恢復戰略是基於磁帶備份的。我們還設定了 Oracle Data Guard:我原來將它看作是“可有可無”的可選附件。但在 2008 年,我們有一個 SAN 完全故障並且另一個 SAN 磁碟嚴重損壞,二者都間接導致電力中斷。在這兩種情況下,Oracle Data Guard 都使我們得以恢復而沒有丟失任何資料。現在,我認識到它不是“可有可無的”,而是必需的!”— 英國牛津布魯克斯大學資料服務經理 Rachel Slade
Oracle Data Guard 是針對企業資料庫的最有效和最全面的資料可用性、資料保護和災難恢復解決方案。它提供管理、監視和自動化軟體基礎架構來建立和維護一個或多個同步備用資料庫,從而保護資料不受故障、災難、錯誤和損壞的影響。
Data Guard 備用資料庫可以位於距離生產資料中心幾千英里外的遠端災難恢復網站上,也可以位於同一個城市、同一個校園,甚至同一個建築物中。如果生產資料庫由於計劃中或計劃外中斷而變得不可用,Data Guard 可以將任意備用資料庫切換到生產角色,從而可使停機時間減到最少並防止資料丟失。
Data Guard 提供:
- 可靠性 — 最佳的資料保護和可用性。您始終了解備用資料庫的狀態,並且它可以非常迅速地(在幾秒鐘內)切換為主資料庫角色。
- 更低的成本和複雜性 — Data Guard 完善的功能和豐富的管理介面是 Oracle 企業版的特性。
- 最大的投資回報 — 所有備用資料庫在作為備用角色的同時都可以用於生產目的,從而消除了閒置資源。
Data Guard 是 Oracle 真正應用叢集 (RAC) 的理想補充並可與其他 Oracle 高可用性 (HA) 解決方案(如 Oracle 閃回、 Oracle Recovery Manager (RMAN))以及 Oracle 資料庫 11 g 的新資料庫選件(包括 Oracle Active Data Guard 和 Oracle Advanced Compression
下圖為 Oracle Data Guard 的概括示意圖。
Data Guard 優點
- 災難恢復和高可用性
Data Guard 提供了一個高效、全面的災難恢復和高可用性解決方案。自動故障切換和易於管理的轉換功能允許主資料庫和備用資料庫之間的快速角色轉換,從而使主資料庫因計劃中和計劃外的中斷所導致的停機時間減到最少。 - 完善的資料保護
備用資料庫還針對資料損壞和使用者錯誤提供了有效防護。主資料庫上的儲存器級物理損壞不會傳播到備用資料庫上。同樣,導致主資料庫永久損壞的邏輯損壞或使用者錯誤也能夠得到解決。最後,重做資料在到達備用資料庫並在以後應用到備用資料庫時得到驗證。 - 有效利用系統資源
物理備用資料庫可用於備份和只讀報表,這樣既減少了主資料庫的負載又節省了寶貴的 CPU 和 I/O 週期。物理備用資料庫還可以在不犧牲資料保護的同時在物理備用資料庫和開啟讀/寫功能的資料庫間輕鬆轉換。邏輯備用資料庫支援對同步的備用資料庫進行讀寫訪問,和/或向備用資料庫新增本地表來實現更新,和/或建立額外索引來優化讀取效能。 - 資料保護中的靈活性平衡效能需求和可用性
Oracle Data Guard 提供最大程度的保護、最大的可用性和最佳效能模式來幫助企業平衡資料可用性和系統性能需求。 - 防止通訊失敗
如果主資料庫和一個或多個備用資料庫失去網路連線,重做資料將不能從主資料庫傳送到這些失去連線的備用資料庫。一旦連線重新建立起來,Data Guard 將自動檢測丟失的重做資料,必要的存檔日誌將自動傳輸到備用資料庫。備用資料庫將與主資料庫重新同步,無需管理員手動干預。 - 簡單的集中式管理
Data Guard Broker 實現了 Data Guard 配置中跨多個數據庫的管理和監視任務的自動化。管理員可以藉助 Oracle 企業管理器或 Broker 自己專用的命令列介面 (DGMGRL) 來利用這個整合管理框架。 - 與 Oracle 資料庫整合
Data Guard 是 Oracle 資料庫(企業版)的一個整合功能,無需另外付費。
Data Guard 配置
一個 Data Guard 配置包括一個生產資料庫(或主資料庫)和最多九個備用資料庫。Data Guard 配置中的資料庫通過 Oracle Net 連線,地理上可能非常分散。對資料庫所處位置沒有限制,只要它們能互相通訊就行。
Data Guard 體系結構圖
重做應用和 SQL 應用
備用資料庫最初是從主資料庫的一個備份副本建立的。一旦建立了備用資料庫,Data Guard 會自動將主資料庫重做資料傳輸給備用系統, 然後將重做資料應用到備用資料庫中,從而保持備用資料庫為與主資料庫同步的副本。
Data Guard 提供了兩種方法將這些重做資料應用到備用資料庫中,並使之與主資料庫同步。這兩種方法與 Data Guard 支援的兩種型別的備用資料庫對應。
- 重做應用,用於物理備用資料庫
- SQL 應用,用於邏輯備用資料庫
物理備用資料庫提供與主資料庫在物理上完全相同的副本,磁碟上的資料庫結構與主資料庫在塊級別上完全相同。資料庫模式(包括索引)都是相同的。重做應用技術使用標準 Oracle 介質恢復技術在物理備用資料庫上應用重做資料。除傳統的 Data Guard 功能外,適用於 Oracle 資料庫 11g 的 Active Data Guard 選件 使物理備用資料庫可以在應用來自主資料庫的更新時開啟只讀功能。這使物理備用資料庫可以減少主資料庫在處理只讀查詢和報表時的負擔。這也使得對備用資料庫是否時刻與主資料庫同步的驗證變得簡單。
雖然資料的物理組織和結構可能不同,但邏輯備用資料庫與生產資料庫包含相同的邏輯資訊。SQL 應用技術通過將從主資料庫接收到的重做資料轉換成 SQL 語句然後在備用資料庫上執行 SQL 語句,使邏輯備用資料庫與主資料庫保持同步。這樣,在將 SQL 應用到邏輯備用資料庫上的同時,可以開啟邏輯備用資料庫的讀寫功能並訪問邏輯備用資料庫來進行查詢和報表操作。
角色管理
使用 Data Guard,資料庫的角色可以在確保該過程中沒有資料丟失且停機時間最少的前提下從主資料庫切換到備用資料庫,反之亦然。共有兩種角色轉換 — 轉換和故障切換。轉換是主資料庫和它的一個備用資料庫間的角色調換。通常在主系統計劃維護中執行。在轉換期間,主資料庫將從主資料庫角色轉換為一個備用角色,而備用資料庫將轉換為主資料庫角色。轉換無需重新建立任何資料庫。故障切換是備用資料庫在主資料庫突然中斷時切換為主資料庫角色。當問題得到修復後,故障主資料庫可以使用 Oracle 閃回資料庫迅速恢復為新主資料庫的備用資料庫,大大減少了將配置恢復為受保護狀態的時間和工作量。管理員可以選擇手動執行故障切換,也可以將 Data Guard 配置為自動檢測主資料庫故障並自動執行向備用資料庫的故障切換(無需人工干預)。
Data Guard 保護模式
在某些情況下,業務資料是無論如何不能丟失的。而在有些情況下,某些應用程式需要最佳的資料庫效能並能承擔資料丟失風險。Data Guard 提供三種不同的資料保護模式來滿足這些不同需求:
-
最大保護 — 該模式提供最高級別的資料保護。資料從主資料庫同步傳輸到備用資料庫,而且僅當重做資料至少在該模式中配置的一個備用資料庫上可用時,才執行傳輸。如果該模式中配置的最後一個備用資料庫不可用,主資料庫上的處理將停止。甚至在多方出現故障的情況下,該模式也可以確保無資料丟失。
-
最大可用性 — 該模式和最大保護模式相似(包括零資料丟失)。然而,如果一個備用資料庫不可用(例如,由網路連線問題導致),主資料庫上的處理仍將繼續。當錯誤修復後,備用資料庫會自動與主資料庫同步。該模式在單一故障時可以實現無資料丟失(例如,網路故障、主站點故障)。 . .
-
最佳效能 — 該模式對主資料庫提供相對較少的資料保護,但是提供比最大可用性模式更佳的效能。在該模式中,在主資料庫處理事務時,重做資料非同步傳入備用資料庫。主資料庫的提交操作在完成主資料庫上的寫入操作之前不等待備用資料庫確認收到重做資料。
Data Guard Broker
Oracle Data Guard Broker 是一個分散式管理框架,它不但自動化了 Data Guard 配置的建立、維護和監視,並對這些操作進行統一管理。可以通過 Oracle 企業管理器(它使用 Broker)或 Broker 的專用命令列介面 (DGMGRL) 執行所有管理操作。Data Guard Broker 11 g 還可以使用最大可用性或最佳效能模式將 Data Guard 配置為在資料庫出現故障時自動切換。
Oracle Data Guard 11g 中有什麼新特性?
Data Guard 11 g 使用 Data Guard broker 命令列介面或企業管理器網格控制簡化了實施和管理。Data Guard 11 g 增加了新的損壞檢測方法,避免了資料丟失並減少了停機時間。Data Guard 11 g在最大可用性和最佳效能模式中均包含了靈活的配置選項來實現快速、自動的故障切換。Data Guard 11 g 物理備用資料庫可以通過在應用處於活動狀態時開啟只讀功能來減少主資料庫處理查詢和報表時的負擔,從而有效地建立高級別的效能保護和對每一個 Data Guard 環境的高級別投資回報。以下的部分將重點介紹 Oracle Data Guard 11g 的主要新特性。有關詳細資訊,請參見以下內容:
快照備用資料庫
這是從物理備用資料庫建立的一種新的備用資料庫。建立完成後,快照備用資料庫可以開啟讀寫功能來處理獨立於主資料庫的事務,以用於測試或其他目的。快照備用資料庫將繼續從主資料庫接收並存檔更新,然而,從主資料庫接收到的重做資料在快照備用資料庫轉變回物理備用資料庫後才會得到應用,而作為快照備用資料庫時應用到該資料庫的所有更新將全部廢棄。快照備用資料庫開啟讀寫功能後才能從主資料庫接收存檔資料,這意味著生產資料始終處於受保護狀態。
對 Oracle Active Data Guard 選件的支援
Active Data Guard 選件通過將資源密集型負載從生產資料庫解除安裝到一個或多個同步的備用資料庫來提升服務質量。Active Data Guard 針對查詢、實時報表、基於 Web 的訪問等支援對物理備用資料庫進行只讀訪問,同時可繼續應用接收自生產資料庫的更改。Active Data Guard 還通過支援使用物理備份資料庫進行 RMAN 塊更改和快速增量備份,消除了在生產資料庫上執行備份引起的開銷。
故障切換的改進
Data Guard 10 g 第 2 版引入了自動故障切換,通過採用最大可用性保護模式 (SYNC) 的快速啟動故障切換這一新特性來實現。Data Guard 11 g 通過新增使用者可配置的資料丟失閾值將快速啟動故障切換支援擴充套件到最佳效能模式 (ASYNC) 中,從而確保了自動故障切換永遠不會導致資料丟失超過所需的恢復點目標 (RPO)。
使用者還可以配置為基於指定的健康檢查條件或任何所需 ORA-nnnnn 錯誤立即執行自動故障切換,而無需等待快速啟動故障切換閾值過期。
可以使用新的 DBMS_DG PL/SQL 包讓應用程式通知快速啟動故障切換觀察器程序啟動自動故障切換。
其他改進使跨一系列 Data Guard 配置的故障切換更加迅速 — 包括手動和自動的故障切換,以及邏輯和物理備用資料庫。
增強的資料保護
物理備用資料庫可以檢測由於以下原因導致的丟失的資料檔案寫入:儲存硬體和韌體故障造成主資料庫或備用資料庫資料損壞。Data Guard 將逐塊比較備用資料庫和傳入重做流的版本。如果版本有差別,將會提示丟失寫入。然後使用者可以故障切換到備用資料庫並還原資料一致性。
重做傳輸的改進
Data Guard 11 g 實施新的流設計,大大增加了重做傳輸在最佳效能保護模式中(在非同步重做傳輸期間和使用 ARCn 程序解決間隔時)的吞吐量。這些改進的優點在高延遲 — WAN 環境中 — 將尤為突出。
對最大可用性模式中同步重做傳輸的改進進一步降低了網路延遲對主資料庫吞吐量的影響,增加了能夠允許同步零資料丟失保護的應用程式的數量,加大了主資料庫和備用資料庫之間的距離(這對此類實施非常有用)。
使用 Oracle Advanced Compression 選件,可在網路或備用資料庫中斷後獲得更快的備用資料庫重新同步。Advanced Compression 選件的一個功能是對由 Data Guard 傳輸的存檔日誌執行自動網路壓縮以解決備用資料庫的間隔。此特性在頻寬受限的高延遲網路環境中尤為突出。
應用效能的改進
平行介質恢復大大提高了所有負載配置檔案的重做應用效能(物理備用資料庫)。
對邏輯備用資料庫 SQL 應用的改進提高了向未分割槽且不包含 LOB、LONG 或 XML 型別列的表執行插入和更新的應用效能。此外,SQL 應用現在並行應用並行 DDL,而不是像在以前的版本中那樣按序應用。
臨時邏輯備用資料庫
使用者可以將物理備用資料庫轉換為臨時邏輯備用資料庫以實現滾動資料庫升級,升級結束後,再將備用資料庫恢復為物理備用資料庫的原始狀態 — 使用 KEEP IDENTITY 子句。這適用於希望執行滾動資料庫升級又不想在建立邏輯備用資料庫所需的冗餘儲存裝置上進行投資的物理備用資料庫使用者。
Data Guard 配置的細粒度監視
Oracle 企業管理器已得到改進,可提供對 Data Guard 配置的最新細粒度監視,這樣管理員可以針對管理該配置做出有依據且有效的決策。
Data Guard 的 RMAM 改進
RMAN DUPLICATE 可以直接從主資料庫在備用系統中建立備用資料庫,任一位置都無需任何臨時儲存。
除之前討論過的實時查詢外,Active Data Guard 選件還支援物理備用資料庫上的 RMAN 塊更改跟蹤,從而實現物理備用資料庫的快速增量備份。測試顯示,較之傳統的增量備份,使用 RMAN 塊更改跟蹤時以合適的更改速率進行資料庫增量備份快達 20 倍。
改善的安全性
SSL 身份驗證可用於代替口令檔案對重做傳輸進行身份驗證。注意:SSL 身份驗證需要使用 PKI 證書、Oracle Advanced Security 選件和 Oracle Internet Directory。
改進的 SQL 應用支援
- XMLType 資料型別(儲存為 CLOB 時)
- 可以在邏輯備用資料庫中並行執行 DDL
- 透明資料加密 (TDE)
- DBMS_FGA(細粒度審計)
- DBMS_RLS(虛擬專用資料庫)
SQL 應用可管理性
排程程式作業可以使用 DBMS_SCHEDULER 包在備用資料庫上建立,並且可以與相應資料庫角色相關聯以便以所需角色執行(例如,資料庫是主資料庫、備用資料庫或二者兼具)。
結合使用 Oracle RAC 資料庫和 SQL 應用的轉換不再需要關閉所有例項而只需關閉每一個 Oracle RAC 叢集中的第一個例項。
還可動態設定 Data Guard SQL 應用引數,而無需重新啟動 SQL 應用。使用 DBMS_LOGSTDBY.APPLY_SET 包,您可以動態設定初始化引數,從而提高邏輯備用資料庫配置的可管理性、執行時間和自動化程度。
Data Guard Broker
- 使用最大可用性或最佳效能模式針對配置啟用自動資料庫故障切換。
- 啟用可配置事件來觸發對目標備用資料庫的即時自動切換。
- 改善了對重做傳輸選項的支援,使管理員可以為重做傳輸服務指定連線描述。
- 消除在最大可用性和最佳效能保護模式間更換的資料庫停機時間。
- 支援使用 Oracle 叢集件和冷故障切換叢集針對高可用性配置單一例項資料庫。
企業管理器網格控制 11g
- 從現有 RMAN 備份中建立備用資料庫
- 從 Oracle RAC 主資料庫中建立 Oracle RAC 備用資料庫
- 自動化的備用資料庫報表、開發和測試克隆
- 在轉換或故障切換時向新主資料庫自動傳播企業管理器作業和量度閾值
- 快速啟動故障切換容錯觀察器
- Enterprise Manager Data Recovery Advisor 為 Intelligent Data Repair (IDR) 提供建議時將使用可用備用資料庫