計畫資料庫災害復原

您可以使用 Oracle GoldenGate、Active Data Guard 和 Autonomous Data Guard,為部署在 Oracle Cloud 中的資料庫實行災害復原。

  • 主動資料保全透過在遠端位置維護一個同步化的生產資料庫實體複本 (待命),以簡單且經濟的方式為 Oracle Database 提供全方位的資料保護、高可用性及災害復原。待命資料庫在重做傳輸、驗證與復原期間會以唯讀模式開啟。

    Active Data Guard 與一般儲存體複製方法不同,它只會複寫記憶體內重做日誌,並且驗證複寫以防止任何損毀機會。

  • Oracle GoldenGate 是一個進階邏輯複寫產品,支援多重主要複寫、中樞與支點部署及資料轉換。GoldenGate 提供客戶彈性的選項,可滿足各種複寫需求,包括異質硬體平台。
  • 「自治式資料保全」提供 Oracle Cloud 中自治式資料庫執行處理的資料保護與災難復原。當您為自治式資料庫執行處理啟用自治式資料保全時,會在同一個區域中建立待命資料庫。在具有多個可用性網域的區域中,會在與主要資料庫不同的可用性網域中佈建待命。在具有單一可用性網域的區域中,會在與主要資料庫不同的實體機器上佈建待命。自治式資料保全會監督主要執行處理,如果主要資料庫無法使用,則會自動容錯移轉至待命資料庫。

關於 Oracle Maximum Availability Architecture

Oracle Maximum Availability Architecture (MAA) 是一組可整合 Oracle 高可用性技術的最佳做法藍圖。MAA 最佳做法描述設計來達到不同服務層次目標的標準架構,以滿足高可用性和資料保護需求。Bronze、Silver、Gold 及 Platinum MAA 架構層的設計可達成不同的服務層次目標,並提供高可用性、資料保護及災害復原等選項。

下列 MAA 層級的每個層級皆使用一組最佳的 Oracle 功能,一起部署之後,能夠可靠地實現非計畫性停機和計畫性維護事件的目標服務層次:

  • 青銅

    Bronze 層以最低可能的成本提供基本資料庫服務。為了降低成本和導入複雜性,我們會接受較低層級的高可用性和資料保護。此架構適用於用於測試、開發及較不重要生產環境應用程式和資料庫的資料庫。

    此架構使用 Oracle Enterprise Edition 中所含的高可用性功能。銅預設為 Oracle Database 單一執行處理或多雲端用戶架構。Oracle Restart 或 Oracle Clusterware 高可用性功能可用來重新啟動失敗的執行處理、資料庫伺服器或任何相關管理服務。如果發生邏輯損毀 (例如人為錯誤),您可以使用倒溯作業,將資料庫倒溯到特定的時間點。在完整網站停機的情況下,從備份回復和復原系統和資料庫需要額外的時間,這可能會導致停機幾小時或幾天。

    在相同資料中心內一律建議使用本機備份,以執行最快速的復原。Oracle 也建議在遠端資料中心維持第二個備份複本,以防止網站中斷和災害發生。您可以使用 Oracle Database Backup Cloud Service 來維護企業內部部署資料庫的雲端備份。

  • Silver

    Silver 層是專為無法等待冷重新啟動或從備份回復的資料庫所設計,應該會有無法復原的資料庫執行處理或伺服器失敗。此架構適用於關鍵業務的生產環境應用系統,需要針對當地故障和最常見的計畫性維護活動縮短停機時間。

    銀架構是建立在銅級架構的基礎上,並新增 Oracle Real Application Clusters (Oracle RAC) 在發生資料庫執行處理或伺服器失敗時,極短或零停機時間的有效叢集,以及最常見的規劃維護事件時不需讓資料庫停止工作時間。

    就像在銅級架構一樣,復原管理程式 (RMAN) 也提供資料庫最佳化備份,可回復可用性,應有完整的叢集中斷或災害。

  • 金色

    黃金層是專為無法容許長期停機和資料遺失的服務層次需求所設計。這組架構模式可為所有未預期的中斷類型提供高可用性和全方位資料保護,包括資料損毀、資料庫失敗和網站停機。對於所有資料庫和系統中斷,以及計畫性維護活動,都能夠受惠於「黃金」參照架構所包含的功能,而需要快速復原時間和零或最少資料遺失的關鍵任務生產應用系統。

    建立在銀參考架構的黃金參考架構中,運用 Oracle Active Data Guard 提供四種架構模式。這種模式不但來自單一具有「快速啟動容錯移轉」與「高可用性監測器」的遠端作用中待命資料庫,還有多個待命資料庫組態 (包括待命讀取器遠端),以及最終的同步 (跨區域) 零資料遺失待命資料庫組態。

  • 白金級

    白金級架構可能針對無法與黃金架構達成的停機和計畫性維護活動提供零停機時間。白金架構是透過新增 Oracle GoldenGate 複寫,打造的黃金架構,讓您不用為移轉、應用系統升級及資料庫升級提供停機時間。每個 Oracle GoldenGate 資料庫都由待命資料庫保護,以便在資料庫、叢集或網站失敗的情況下,啟用零資料遺失。

    與其他 MAA 架構不同,必須考量應用程式考量以將 Oracle GoldenGate 整合至架構,以確保能正確執行衝突偵測及解決方法。此外,也可能必須針對移轉和資料庫升級等活動,讓全球資料服務或客製化應用系統服務管理實現零應用程式停止工作。

使用作用中資料保全

「資料保全」提供一組全方位的服務,可建立、維護、管理及監控一或多個待命資料庫,讓生產環境的 Oracle 資料庫能存活災害與資料損毀。Data Guard 會將這些待命資料庫維護為生產資料庫的交易一致複本。大多數的 Active Data Guard 最佳做法都是在 MAA 黃金層中的參考架構中進行定義、測試及驗證。
如果因為計畫性或非計畫性停機而無法使用生產資料庫,Data Guard 可以將任何待命資料庫切換成生產角色,將與停機關聯的停機時間降到最低。Data Guard 可搭配傳統備份、回復及叢集技術使用,提供高層次的資料保護和資料可用性。

作用中資料保全的優點

作用中資料保全提供數種優點。

  • 安全實體複製。

    待命資料庫是以唯讀模式開啟,因此保證資料一致性。

    請注意,從 Oracle Database 19c 開始,您可以偶爾發出更新並插入指示至待命資料庫,並將指示重新導向至主要資料庫。

  • 簡單、快速、單向複寫完整的 Oracle Database。

    預設組態會處理大部份的工作負載,因此的管理負荷極低。

  • 沒有限制。

    Oracle Data Guard 重做套用支援所有 Oracle 功能,並以通透的方式複寫所有資料與儲存類型、PL/SQL 套裝程式及 DDL,而不需要特別考量。

  • 最佳的資料保護。

    直接從記憶體複製會將待命資料庫從主要資料庫發生的 I/O 損毀隔離。偵測在主要或待命資料庫上,獨立發生且無訊息寫入的損毀。自動偵測並修復可能在主要或待命資料庫上獨立發生的實體區塊損毀。

  • 可選擇與零資料遺失同步,或與接近零資料遺失保護同步。
  • 改良的 RoI。

    您可以將唯讀工作負載 (例如報告應用程式、特定查詢及資料擷取) 卸載至同步的實體待命資料庫。

  • 單一命令會將實體待命資料庫轉換成測試系統開啟讀取 / 寫入。第二個命令會將它轉換回實體待命資料庫,並將它與主要資料庫重新同步。主要資料一律受到保護。
  • Oracle Data Guard Broker 命令行與自動資料庫容錯移轉的完整組態整合管理。
  • 支援單一節點資料庫或多節點資料庫 (Real Application Cluster) 組態。
  • 應用程式連續性,用於防止交易受到影響。

    作用中資料保全可透過將受影響資料庫階段作業的進行中工作復原,以遮罩一般使用者和應用程式發生的資料庫中斷。

組態模式

  • 最大保護
    如果主要資料庫發生失敗,此保護模式會提供零資料遺失。若要確保不會發生資料遺失,主要資料庫會在發生錯誤時關閉,以避免將其重做串流寫入至少一個待命資料庫的待命重做日誌。

    注意:

    自治式資料庫無法使用此模式。針對 Exadata Cloud Service 與 Exadata Cloud@Customer,您可以手動設定此模式,但雲端控制層不會反映它。
  • 最佳可用性

    此保護模式提供可能的最高階資料保護,而不犧牲主要資料庫的可用性。與「最大保護」模式相同,交易只會在重做需要復原該交易之後,才進行確認,並寫入至至少一個交易一致待命資料庫之待命資料庫的待命重做日誌。與「最大保護」模式不同的是,如果主要資料庫發生錯誤,並不會關閉它來防止將其重做串流寫入遠端待命重做日誌。主要資料庫和 Data Guard 組態會降級為 UNSYNCHRONIZED 狀態。至少有一個待命可供使用時,便會自動重新同步待命資料庫。

  • 最大效能效能

    此保護模式 (預設值) 可提供可能的最高階資料保護,而不影響主要資料庫的效能。透過允許交易在復原所需的重做資料時進行確認,以非同步方式寫入本機線上重做日誌。當使用足夠頻寬的網路連結時,此模式可提供資料保護層級,而對主要資料庫效能的影響最低。

資料庫位置考量

為了改善可用性與災難復原,請將待命資料庫的資料庫系統放置在與主要資料庫資料庫資料庫資料庫資料庫系統不同的可用性網域。

如果您為資料庫啟用 Data Guard,且待命資料庫所在的可用性網域與主要資料庫的可用性網域相同 (無論是依據選擇,或是區域具有單一可用性網域),請將待命資料庫置於與主要資料庫不同的容錯域。

如果您的主要資料庫和待命資料庫是雙節點 RAC 虛擬機器資料庫系統,而且兩者都位於相同的可用性網域中,則建議您跨可用性網域中的所有三個容錯域,分配所有 4 個節點 (主要和 2 個適用於待命資料庫)。此組態可確保最高可用性,並善用這三個容錯域。在此情況下,在容錯域中,只有待命資料庫的其中一個節點可以位於不含主要或待命資料庫任何其他節點的容錯域。

為確保主要資料庫與待命資料庫之間的最佳角色轉換,Oracle 建議您以對稱方式設定兩個資料庫。

組態最佳措施

請參閱 Oracle Database High Availability Overview and Best Practices 中的 "Oracle Data Guard Best Practices"。

使用 Oracle GoldenGate

Oracle GoldenGate 是一個全方位的軟體套裝程式,可在異質 IT 環境中即時進行資料整合與複寫。產品集可讓營運和分析企業系統之間的高可用性解決方案、即時資料整合、交易變更資料擷取、資料複製、轉換及驗證。多數 Oracle GoldenGate 最佳做法都是在 MAA Platinum 層中定義、測試及驗證,以作為參考架構的一部分。
當複製作用中時 (包括下列情況) 複本資料庫必須開啟讀取 / 寫入時,請使用 Oracle GoldenGate:
  • 進階複寫需求,例如多主要和雙向複寫、子集複寫、多對一複寫、跨端點複寫及資料轉換
  • 使用雙向複寫進行不需停機的維護與移轉
  • Data Guard 不支援的跨平台移轉 (例如跨平台移轉)
  • 支援跨資料庫版本分散式系統 (例如複本 1 在 12.2 上,而複本 2 則位於 19c)
  • 支援跨資料庫平台 (例如複本 1 在 Oracle 上,而複本 2 則位於非 Oracle DB)

組態模式

使用 Oracle GoldenGate Microservices 架構,在雲端中提供安全、全方位且可擴展的複寫平台。為了將資料庫伺服器的負荷降到最低,Oracle 建議您在 Hub 組態中部署 GoldenGate。

GoldenGate 支援數種拓樸,如下圖所示。選擇適合您使用案例的模式。



設定最佳措施

Oracle GoldenGate 會在交易層次複寫資料,因此建議您實行衝突偵測與解決 (CDR),以提供兩個網站之間的資料一致性。自動化命令檔會立即識別衝突並加以處理。

如果您主要針對災害復原目的使用 GoldenGate,且複寫僅為一種方式,則建議在兩個區域之間新增 Data Guard。這樣做可讓主要執行處理和 Data Guard 執行處理之間,提供零資料遺失解決方案。此組態也會減輕從主要資料庫執行 GoldenGate 擷取的負荷。

db-dg-gg.png 的描述如下
db-dg-gg.png 圖解說明

注意:

此架構顯示多個可用性網域 (AD)。針對具有單一 AD 的區域,調整架構以將您的資源分散至 AD 內的容錯域。

在 HA 組態中部署 Oracle GoldenGate。您可以使用 Oracle ASM 叢集檔案系統 (ACFS) 複寫來進行重要 GoldenGate 檔案。

使用作用中資料保全和 GoldenGate

Oracle GoldenGate 和作用中資料保全互斥。您可以使用它們一起來達到零的復原點目標 (RPO) (亦即沒有資料遺失的風險),因為 GoldenGate 為非同步性質,而 Active Data Guard 可提供同步複寫以及其他重要功能 (例如資料區塊驗證、自動區塊修復及應用程式連續性)。

以下為幾種運用 Oracle GoldenGate 和Active Data Guard 的案例:
  • 針對關鍵的 OLTP 資料庫,使用作用中資料保全待命以進行災害保護,以及資料庫升級。使用 GoldenGate 從 Data Guard 主要資料庫 (或使用 GoldenGate ALO 模式從待命資料庫擷取資料) 以進行企業資料倉儲的 ETL 更新。
  • 使用 GoldenGate 子集複製,從眾多資料來源擷取、轉換及彙總資料至中央作業資料存放區 (ODS)。ODS 支援關鍵任務應用程式系統,為公司帶來重大收益。使用 Active Data Guard 待命資料庫保護 ODS,提供最佳的資料保護和可用性。
  • 使用 GoldenGate 多重主要複寫來同步數個資料庫,每個資料庫都位於不同的地理位置。每個 GoldenGate 複製都有自己的本機同步資料保全待命資料庫,在發生停機時才啟用零資料遺失容錯移轉。

注意:

若要實作白金級的最高可用性架構,請使用 Oracle Real Application Clusters (Oracle RAC) 、Active Data Guard 及 Oracle GoldenGate。