將 Oracle 資料庫移轉至 Azure

Load Balancer
ExpressRoute
VPN 閘道

解決方案構想

如果您想要瞭解如何使用詳細資訊、實行詳細資料、定價指引或程式碼範例來擴充本文,請讓我們知道 GitHub 意見反應!

Oracle DB 遷移可以透過多種方式來完成。 此解決方案涵蓋其中一個選項,其中使用 Oracle Active Data Guard 來遷移資料庫。 假設 Oracle Data Guard (或 Active Data Guard) 用於 HA/DR 用途。 視應用程式而定,應用程式可以先遷移或資料庫。 在此情況下,會使用 Azure Load Balancer 將應用程式遷移至 Azure。 這可讓您分割內部部署與 Azure 之間的流量,讓您可以逐漸遷移您的應用層。 資料庫移轉會在多個步驟中執行。 第一個步驟是使用 Oracle Data Guard,在 Azure 中設定次要/待命資料庫。 這可讓您將資料移轉至 Azure。 當 Azure 中的次要複本與主要複本同步時,您可以將 Azure 中的資料庫切換為主資料庫,同時維護您的次要內部部署。 在下一個步驟中,您可以在不同的可用性區域 (或區域中設定次要資料庫,) 基於 HA/DR 的目的。 至此,您可以解除委任您的內部部署環境。 內部部署與 Azure 之間的所有資料流量都會透過 Azure ExpressRoute 或站對站 VPN 連線能力來流動。

架構

架構圖

資料流程

  1. 透過站對站 VPN 或 ExpressRoute,連線您的 Azure 環境與內部部署網路。
  2. 使用 DataGuard 在 Azure 中將您的 Azure oracledb1 標示為作用中的待命。
  3. 將 Azure 中的 Azure oracledb1 切換為主要,並在 Azure 中將您的 OracleDB2 設定為您的待命,以完成您的遷移。

注意

  • 只有在相同的作業系統版本和資料庫版本之間進行遷移時,此方法才能運作。
  • 假設:您使用的是 DataGuard 內部部署。

單元

替代方案

如果您的資料庫超過 2 TB,您可以使用 oracle Data Guard 搭配 oracle 復原管理員 (RMAN) ,或使用資料提取來複寫初始 大量 資料傳輸之後的變更,這可提供基本的停機時間遷移。

考量

遷移

您可以使用 oracle 復原管理員 (RMAN) 和 oracle Data Guard,將整個 Oracle 資料庫從內部部署遷移至 Azure VM,並減少停機時間。 您可以使用 [備份/還原] 或 [重複的資料庫] 方法,使用 RMAN 將資料庫還原至目標待命 Azure VM。 然後,您可以使用 Oracle Data Guard 將目標資料庫設定為實體待命資料庫,讓所有交易/重做資料從主要內部部署資料庫變更為待命資料庫。 當主要內部部署 Oracle 資料庫與 Azure VM 實例上的目標待命資料庫同步時,您可以切換到目標資料庫,以將其轉換為讀寫資料庫。 然後,您可以將應用程式連接指向新的主資料庫。 此選項可在將資料庫移轉至 Azure 時,提供最短的停機時間。

Oracle 資料幫浦公用程式是用來將資料和中繼資料從 Oracle 資料庫匯出及匯入。 您可以在整個資料庫、選擇性架構、資料表空間或資料庫物件上執行資料幫浦匯出/匯入。 資料幫浦是將資料移轉至 Azure 的建議工具,適用于範圍從 10 GB 到 20 TB 的大型資料庫。 它允許高程度的平行處理原則、彈性的資料提取選項,以及可擴充的作業,可讓您將資料和中繼資料從源資料庫快速移動到目標資料庫。 將您的資料匯出至資料傾印檔案時,Oracle 資料幫浦也支援加密和壓縮。 您可以搭配使用 Oracle 資料提取與 Oracle Data Guard 或黃金閘道,來處理大型資料庫的初始資料傳輸。 請注意,只有 Oracle Database 10g 第1版 (10.1) 和更新版本才提供資料幫浦。

設計考量

VM 大小調整

請考慮針對 Oracle Database VM 使用具有受限核心個 vcpu 的超執行緒記憶體優化虛擬機器,以節省授權成本並將效能最大化。 Oracle 已保證從內部部署至 Azure 的授權行動性。 請參閱 Oracle-Azure 常見問題。

儲存體

使用多個 premium 或 ultra 磁片 (受控磁片) ,以取得 Oracle 資料庫的效能和可用性。 使用受控磁片時,磁片/裝置名稱可能會在重新開機時變更。 建議您使用裝置 UUID 而不是名稱,以確保您的掛接在重新開機時保持不變。 請考慮使用 Oracle 自動儲存體管理 (ASM) ,以簡化資料庫的儲存管理。

測試與微調

建議您執行下列測試,以針對新的 Oracle 資料庫驗證您的應用程式:

  • 執行效能測試,以確保它們符合您的業務期望。
  • 測試資料庫容錯移轉、復原和還原,以確保您符合 RPO 和 RTO 需求。
  • 列出所有重要的作業和報表,並在新的 Oracle 實例上執行它們,以根據您的服務等級協定 (Sla) 來評估其效能。
  • 最後,在遷移或建立雲端的應用程式時,請務必調整您的應用程式程式碼,以新增雲端原生模式,例如重試模式和斷路器模式。 在雲端設計模式指南中定義的其他模式,可以協助您的應用程式更具復原性。

Oracle 授權

如果您在 Azure Vm 中使用啟用超執行緒的技術,請將兩個個 vcpu 計算為相當於一個 Oracle 處理器授權。 如需詳細資訊,請參閱在雲端運算環境中授權 Oracle 軟體。

備份策略

其中一個備份策略是使用 Oracle 復原管理員 (RMAN) ,並 Azure 備份應用程式一致的備份。 您也可以使用 Azure 備份方法。

選擇性地使用 Azure Blob 保險絲來掛接高度多餘的 Azure Blob 儲存體帳戶,並將您的 RMAN 備份寫入其中,以增加復原能力。

商務持續性和災害復原

針對商務持續性和嚴重損壞修復,請考慮部署下列軟體:

  • Oracle Data Guard Fast-Start 容錯移轉 (FSFO) 資料庫可用性
  • 針對零資料遺失保護,Oracle Data Guard 遠沒有同步。
  • 適用于 Azure 可用性設定組或可用性區域上的多重主要或主動-主動模式的 Oracle GoldenGate 取決於 SLA 需求。

使用可用性區域來達到區域內的高可用性。 如需詳細資訊,請參閱 Azure 上的 Oracle 資料庫參考架構

您可以使用 Azure 可用性區域和 Oracle Active DataGuard with FSFO 的組合,來達成資料庫層的99.99% 執行時間可用性。

請考慮使用鄰近放置群組,以減少應用程式與資料庫層之間的延遲。

監視

設定 Oracle Enterprise 管理員以進行管理、監視和記錄。

下一步

請參閱下列文章以取得支援資訊:

深入瞭解各種架構元件: