使用 Oracle Data Pump 將內部部署 Oracle 資料庫遷移至 Amazon EC2 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

使用 Oracle Data Pump 將內部部署 Oracle 資料庫遷移至 Amazon EC2

Navakanth Talluri,Amazon Web Services

Summary

遷移資料庫時,您必須考慮來源和目標資料庫引擎和版本、遷移工具和服務,以及可接受的停機時間期間等因素。如果您要將現場部署 Oracle 資料庫遷移至 Amazon Elastic Compute Cloud (Amazon EC2),您可以使用 Oracle 工具,例如 Oracle Data Pump 和 Oracle Recovery Manager (RMAN)。如需策略的詳細資訊,請參閱將 Oracle 資料庫遷移至 AWS 雲端

Oracle Data Pump 可協助您擷取資料庫的邏輯一致備份,並將其還原至目標 EC2 執行個體。此模式說明如何使用 Oracle Data Pump 和 NETWORK_LINK 參數,將現場部署 Oracle 資料庫遷移至 EC2 執行個體,並將停機時間降至最低。NETWORK_LINK 參數會透過資料庫連結開始匯入。目標 EC2 執行個體上的 Oracle Data Pump Import (impdp) 用戶端會連線至來源資料庫、從中擷取資料,以及將資料直接寫入目標執行個體上的資料庫。此解決方案中沒有使用的備份或傾印檔案。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 內部部署 Oracle 資料庫:

    • 不是 Oracle Real Application Clusters (RAC) 資料庫

    • 不是 Oracle Automatic Storage Management (Oracle ASM) 資料庫

    • 處於讀寫模式。

  • 您已在內部部署資料中心和 AWS 之間建立 AWS Direct Connect 連結。如需詳細資訊,請參閱建立連線 (Direct Connect 文件)。

產品版本

  • Oracle 資料庫 10g 版本 1 (10.1) 及更新版本

架構

來源技術堆疊

  • 內部部署資料中心中的獨立 (非 ASM 和非 ASM) Oracle 資料庫伺服器

目標技術堆疊

  • 在 Amazon EC2 上執行的 Oracle 資料庫

目標架構

AWS Well-Architected Framework 的可靠性支柱建議建立資料備份,以協助提供高可用性和彈性。如需詳細資訊,請參閱在 AWS 上執行 Oracle 資料庫的最佳實務中的架構以取得高可用性。此模式會使用 Oracle Active Data Guard 在 EC2 執行個體上設定主要和待命資料庫。為了實現高可用性,EC2 執行個體應該位於不同的可用區域。不過,可用區域可以位於相同的 AWS 區域或不同的 AWS 區域。

Active Data Guard 提供實體待命資料庫的唯讀存取權,並持續從主要資料庫套用重做變更。根據您的復原點目標 (RPO) 和復原時間目標 (RTO),您可以選擇同步和非同步重做傳輸選項。

如果主要和待命 EC2 執行個體位於不同的 AWS 區域,下圖會顯示目標架構。

連接至主要 EC2 執行個體上新資料庫的應用程式

資料遷移架構

完成目標架構的設定後,您可以使用 Oracle Data Pump 將內部部署資料和結構描述遷移至主要 EC2 執行個體。在切換期間,應用程式無法存取現場部署資料庫或目標資料庫。您可以關閉這些應用程式,直到它們可以連接到主要 EC2 執行個體上的新目標資料庫為止。

下圖顯示資料遷移期間的架構。在此範例架構中,主要和待命 EC2 執行個體位於不同的 AWS 區域。

來源資料庫會連線至目標資料庫。應用程式與來源和目標DBs中斷連線

工具

AWS 服務

  • AWS Direct Connect 透過標準乙太網路光纖纜線,將您的內部網路連結至 Direct Connect 位置。透過此連線,您可以直接建立與公有 AWS 服務的虛擬介面,同時略過網路路徑中的網際網路服務供應商。

  • Amazon Elastic Compute Cloud (Amazon EC2) 在 AWS 雲端中提供可擴展的運算容量。您可以視需要啟動任意數量的虛擬伺服器,,並快速進行擴展或縮減。

其他工具和服務

最佳實務

史詩

任務描述所需的技能

識別現場部署主機的來源硬體組態和核心參數。

驗證內部部署組態,包括儲存大小、每秒輸入/輸出操作 (IOPS) 和 CPU。這對以 CPU 核心為基礎的 Oracle 授權很重要。

DBA、SysAdmin

在 AWS 上建立基礎設施。

建立虛擬私有雲端 (VPCs)、私有子網路、安全群組、網路存取控制清單 ACLs)、路由表和網際網路閘道。如需詳細資訊,請參閱下列內容:

DBA、AWS 系統管理員

使用 Active Data Guard 設定 EC2 執行個體。

使用 Active Data Guard 組態來設定 AWS EC2 執行個體,如 AWS Well-Architected Framework 中所述。EC2 執行個體上的 Oracle 資料庫版本可能與內部部署版本不同,因為此模式使用邏輯備份。注意下列事項:

  • 將目標資料庫置於讀寫模式。

  • 在目標資料庫上,提供來源資料庫的透明網路子結構 (TNS) 詳細資訊。

如需詳細資訊,請參閱:

DBA、AWS 系統管理員
任務描述所需的技能

從 EC2 執行個體建立內部部署資料庫的 dblink。

在 EC2 執行個體上的 Oracle 資料庫與內部部署 Oracle 資料庫之間建立資料庫連結 (dblink)。如需詳細資訊,請參閱使用網路連結匯入移動資料 (Oracle 文件)。

DBA

驗證 EC2 執行個體與內部部署主機之間的連線。

使用 dblink 確認 EC2 執行個體與內部部署資料庫之間的連線正常運作。如需說明,請參閱 CREATE DATABASE LINK (Oracle 文件)。

DBA

停止所有連接到現場部署資料庫的應用程式。

核准資料庫停機時間後,請關閉任何包含到現場部署資料庫的應用程式和相依任務。您可以直接從應用程式或使用 cron 從資料庫執行此操作。如需詳細資訊,請參閱使用 Crontab 公用程式在 Oracle Linux 上排程任務

DBA,應用程式開發人員

排程資料遷移任務。

在目標主機上,使用 命令impdb來排程 Data Pump 匯入。這會將目標資料庫連接到現場部署主機,並啟動資料遷移。如需詳細資訊,請參閱 Data Pump ImportNETWORK_LINK (Oracle 文件)。

DBA

驗證資料遷移。

資料驗證是重要的步驟。對於資料驗證,您可以使用自訂工具或 Oracle 工具,例如 dblink 和 SQL 查詢的組合。

DBA
任務描述所需的技能

將來源資料庫置於唯讀模式。

確認應用程式已關閉,且未對來源資料庫進行任何變更。以唯讀模式開啟來源資料庫。這可協助您避免任何開啟的交易。如需詳細資訊,請參閱 SQL 陳述ALTER DATABASE中的 (Oracle 文件)。

DBA、DevOps 工程師、應用程式開發人員

驗證物件計數和資料。

若要驗證資料和物件,請使用自訂工具或 Oracle 工具,例如 dblink 和 SQL 查詢的組合。

DBA,應用程式開發人員

將應用程式連接至主要 EC2 執行個體上的資料庫。

變更應用程式的連線屬性,以指向您在主要 EC2 執行個體上建立的新資料庫。

DBA,應用程式開發人員

驗證應用程式效能。

啟動應用程式。使用自動化工作負載儲存庫 (Oracle 文件) 驗證應用程式的功能和效能。

應用程式開發人員、DevOps 工程師、DBA

相關資源

AWS 參考

Oracle 參考