將 Oracle 資料庫移轉至 Azure

Azure Load Balancer
Azure ExpressRoute
Azure VPN 閘道

此解決方案會將 Oracle 資料庫及其應用程式移轉至 Azure。 我們會針對資料庫使用 Oracle Active Data Guard,並將 Azure Load Balancer 用於應用層。

架構

架構圖顯示完成從 Oracle 到 Azure 的資料庫移轉。

下載此架構的 Visio 檔案

資料流程

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

注意

  • 只有在移轉至相同的 OS 版本和資料庫版本時,這個方法才有效。
  • 假設:您使用的是 DataGuard 內部部署。

元件

替代項目

如果您的資料庫超過 2 TB,您可以使用 Oracle Data Guard 搭配 Oracle 復原管理員 (RMAN),或使用 Data Pump 在初始大量數據傳輸之後復寫變更,以提供最短的停機時間移轉。

適用於 Oracle 的 SQL Server 移轉小幫手

適用於 Oracle 的 Microsoft SQL Server 移轉小幫手 (SSMA) 是將 Oracle 資料庫遷移至 Microsoft SQL Server 和 Azure SQL 資料庫 的工具。 SSMA for Oracle 會將 Oracle 資料庫物件轉換成 SQL Server 資料庫物件、在 SQL Server 中建立這些物件,然後將數據從 Oracle 遷移至 SQL Server 或 Azure SQL 資料庫。

案例詳細資料

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 來流動。

潛在的使用案例

此解決方案適用於將 Oracle DB 移轉至 Azure 時。

考量

這些考慮會實作 Azure Well-Architected Framework 的支柱,這是一組指導原則,可用來改善工作負載的品質。 如需詳細資訊,請參閱 Microsoft Azure Well-Architected Framework

遷移

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

Oracle Data Pump 公用程式可用來從 Oracle 資料庫匯出和匯入數據和元數據。 您可以在整個資料庫、選擇性架構、資料表空間或資料庫物件上執行 Data Pump 匯出/匯入。 數據幫浦是將數據遷移至 Azure 的建議工具,適用於大小從 10 GB 到 20 TB 的大型資料庫。 它允許高度平行處理原則、彈性的數據擷取選項和可調整的作業,讓數據與元數據從源資料庫高速移動至目標資料庫。 將您的數據匯出至數據傾印檔案時,Oracle 數據幫浦也支援加密和壓縮。 您可以使用 Oracle Data Pump 搭配 Oracle Data Guard 或 Golden Gate 來處理大型資料庫的初始數據傳輸。 請注意,Data Pump 僅適用於 Oracle Database 10g Release 1 (10.1) 和更新版本。

設計考量

VM 大小調整

請考慮針對 Oracle 資料庫 VM 使用具有限制核心 vCPU 的超線程記憶體最佳化虛擬機,以節省授權成本,並將效能最大化。 Oracle 已保證從內部部署至 Azure 的授權行動性。 請參閱 Oracle-Azure 常見問題。

儲存體

使用多個進階或 Ultra 磁碟(受控磁碟)來取得 Oracle 資料庫的效能和可用性。 使用受控磁碟時,磁碟/裝置名稱可能會在重新啟動時變更。 建議您使用裝置 UUID 而不是名稱,以確保掛接會在重新啟動時持續存在。 請考慮使用 Oracle Automatic 儲存體 Management (ASM) 來簡化資料庫的記憶體管理。

測試和微調

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

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

Oracle 授權

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

備份策略

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

選擇性地使用 Azure Blob Fuse 掛接高度備援 Azure Blob 儲存體 帳戶,並將 RMAN 備份寫入其中,以增加復原能力。

安全性

Azure DDoS 保護 (結合應用程式設計最佳做法) 可提供增強的 DDoS 風險降低功能,以針對 DDoS 攻擊提供更多的防禦。 您應該在任何周邊虛擬網路上啟用 Azure DDOS 保護

商務持續性和災害復原

針對商務持續性和災害復原,請考慮部署下列軟體:

  • Oracle Data Guard 快速啟動故障轉移 (FSFO) 以取得資料庫可用性
  • Oracle Data Guard Far Sync 用於零數據遺失保護。
  • Azure 可用性設定組或可用性區域上多重主要或主動-主動模式的 Oracle GoldenGate 取決於 SLA 需求。

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

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

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

監視

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

下一步

如需支援資訊,請參閱下列文章:

深入瞭解各種架構元件: