使用 AWS 數據管理系統和 AWS SCT 從 Amazon EC2 上的甲骨文遷移到適用於 MySQL 的 Amazon RDS for MySQL RDS - AWS Prescriptive Guidance

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

使用 AWS 數據管理系統和 AWS SCT 從 Amazon EC2 上的甲骨文遷移到適用於 MySQL 的 Amazon RDS for MySQL RDS

由阿尼爾·庫納帕雷迪 (AWS) 創建

R 類型 重新架構

來源:資料庫:關聯

目標:Amazon RDS for MySQL

建立者:AWS

PoC 或試驗

技術:資料庫; 移轉

工作負載:Oracle

AWS 服務:Amazon RDS

Summary

在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上管理 Oracle 資料庫需要資源且成本可能很高。將這些資料庫移至適用於 MySQL 資料庫執行個體的 Amazon Relations Database Service (Amazon RDS),可讓您的工作變得更容易,因為它會優化整體 IT 預算。Amazon RDS for MySQL 還提供異地同步備份、可擴展性和自動備份等功能。 

此模式會引導您完成將 Amazon EC2 上的來源 Oracle 資料庫遷移到適用於 MySQL 資料庫的目標 Amazon RDS 執行個體。它使用 AWS Database Migration Service (AWS DMS) 遷移資料,使用 AWS Schema Conversion Tool (AWS SCT) 將來源資料庫結構描述和物件轉換為與適用於 MySQL 的 Amazon RDS 相容的格式。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • 在「存檔日誌」模式下執行處理和監聽器服務的來源資料庫

  • 適用於 MySQL 的目標 Amazon RDS 資料庫,具有足夠的儲存空間來進行資料遷移

限制

  • AWS DMS 不會在目標數據庫上創建模式; 您必須這樣做。目標的結構描述名稱必須已有。來源結構描述的資料表會匯入到 AWS DMS 用它連線到目標執行個體。如果您必須遷移多個結構描述,即必須建立多項複寫任務。

產品版本

Architecture

來源技術堆疊

  • EC2 執行個體上的 Oracle 資料庫 

目標技術堆疊

  • Amazon RDS for MySQL 資料庫執行個體

資料遷移架構

來源與目標架構

Tools

  • AWS DMS-AWS Database Migration Service(AWS DMS) 是一種 Web 服務,您可以用來將資料從現場部署、Amazon RDS 資料庫執行個體上或 EC2 執行個體上的資料庫遷移到 AWS 服務上的資料庫 (例如 Amazon RDS for MySQL 或 EC2 執行個體) 上的資料庫。您也可以將資料庫從 AWS 服務遷移到現場部署資料庫。您可以在異質或同質資料庫引擎之間移轉資料。

  • AWS SCT-AWS Schema Conversion Tool(AWS SCT) 讓異質資料庫遷移變得更容易,因為它會自動將來源資料庫結構描述和大多數的資料庫程式碼物件,包括檢視、儲存程序及函數,轉換成與目標資料庫相容的格式。使用 AWS SCT 轉換資料庫結構描述和程式碼物件後,您可以使用 AWS DMS 將資料從來源資料庫遷移到目標資料庫,以完成遷移專案。

Epics

任務描述必要技能
識別來源與目標資料庫版本與引擎。

DBA /開發人員
識別 DMS 複寫執行個體。

DBA /開發人員
識別儲存區需求,例如儲存區類型和容量。

DBA /開發人員
識別網路需求,例如延遲和頻寬。

DBA /開發人員
識別來源和目標伺服器執行處理的硬體需求 (根據 Oracle 相容性清單和容量需求)。

DBA /開發人員
識別來源和目標資料庫的網路存取安全性需求。

DBA /開發人員
安裝 AWS SCT 與 Oracle 驅動程式。

DBA /開發人員
決定備份策略。

DBA /開發人員
決定可用性需求。

DBA /開發人員
識別應用程式移轉和切換策略。

DBA /開發人員
根據容量、儲存和網路功能選取適當的資料庫執行個體類型。

DBA /開發人員
任務描述必要技能
建立虛擬私有雲端 (VPC)。來源、目標和複寫執行個體應位於同一 VPC 中。將這些放在相同的可用區域也很好。

開發人員
為資料庫存取建立必要的安全性群組。

開發人員
產生與設定 key pair。

開發人員
設定子網路、可用區域和 CIDR 區塊。

開發人員
任務描述必要技能
在 Amazon EC2 上安裝 Oracle 資料庫與必要的使用者和角色。

DBA
執行下一欄中的三個步驟,從 EC2 執行處理外部存取 Oracle。

(1) 將 'tnsname' 中的本地主機更改為 Amazon EC2 公共 DNS; (2) 將「監聽器」中的本地主機更改為 Amazon EC2 公共 DNS; (3) 停止並重新啟動監聽器。

DBA
重新啟動 Amazon EC2 時,公共 DNS 會發生變更。確保在 'tnsname' 和 '監聽器' 中更新 Amazon EC2 公共 DNS,或使用彈性 IP 地址。

DBA /開發人員
設定 EC2 執行個體安全性群組,讓複寫執行個體和必要的用戶端可以存取來源資料庫。

DBA /開發人員
任務描述必要技能
設定和啟動適用於 MySQL 的 Amazon RDS 資料庫執行個體。

開發人員
在 Amazon RDS for MySQL 資料庫執行個體中建立必要的表格空間。

DBA
設定安全性群組,讓複寫執行個體和必要的用戶端可以存取目標資料庫。

開發人員
任務描述必要技能
安裝 AWS SCT 與 Oracle 驅動程式。

開發人員
輸入適當的參數並連接到來源和目標。

開發人員
產生綱要轉換報告。

開發人員
視需要更正程式碼和結構描述,尤其是表格空間和引號,並在目標資料庫上執行。

開發人員
在移轉資料之前,驗證來源與目標的結構描述。

開發人員
任務描述必要技能
對於完全載入和變更資料擷取 (CDC) 或僅做為 CDC,您必須設定額外的連線屬性。

開發人員
在 AWS DMS 來源 Oracle 資料庫定義中指定的使用者必須獲得所有必要的權限。如需完整清單,請參閱 https://docs.aws.amazon.com/dms/latest/userguide/CHAP_Source.Oracle.html#CHAP_Source.Oracle.Self-Managed。

DBA /開發人員
在來源資料庫中啟用補充記錄。

DBA /開發人員
針對完全載入和變更資料擷取 (CDC) 或僅做為 CDC,請在來源資料庫中啟用存檔日誌模式。

DBA
建立來源與目標端點,並測試連線。

開發人員
成功連線端點時,請建立複寫工作。

開發人員
選取 CDC 只 (或) 完整負載加上 CDC,分別擷取連續複寫的變更 (或) 完整負載加上進行中的變更。

開發人員
執行複寫任務並監控 Amazon CloudWatch 察日誌。

開發人員
驗證來源和目標資料庫中的資料。

開發人員
任務描述必要技能
依照您的應用程式移轉策略的步驟執行。

DBA、開發人員、委任人員
遵循您的應用程式轉換/切換策略的步驟。

DBA、開發人員、委任人員
任務描述必要技能
驗證來源與目標資料庫中的結構描述和資料。

DBA /開發人員
收集需要移轉的時間指標、手動與工具的百分比、節省成本等。

DBA /開發人員/配人員
檢閱專案文件和成品。

DBA /開發人員/配人員
關閉臨時 AWS 資源。

DBA /開發人員
關閉專案並提供回饋。

DBA /開發人員/配人員