本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 AWS DMS 和 AWS SCT 從 Oracle on Amazon EC2 遷移至 Amazon RDS for MySQL
由 Anil Kunapareddy (AWS) 和 Harshad Gohil 建立
Summary
在 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體上管理 Oracle 資料庫需要 資源,而且成本高昂。將這些資料庫移至適用於 MySQL 資料庫執行個體的 Amazon Relational Database Service (Amazon RDS),可透過最佳化整體 IT 預算來簡化您的任務。Amazon RDS for MySQL 也提供異地同步備份、可擴展性和自動備份等功能。
此模式會逐步引導您將 Amazon EC2 上的來源 Oracle 資料庫遷移至目標 Amazon RDS for MySQL 資料庫執行個體。它使用 AWS Database Migration Service (AWS DMS) 遷移資料,並使用 AWS Schema Conversion Tool (AWS SCT) 將來源資料庫結構描述和物件轉換為與 Amazon RDS for MySQL 相容的格式。
先決條件和限制
先決條件
作用中的 AWS 帳戶
在 ARCHIVELOG 模式下執行執行個體和接聽程式服務的來源資料庫
目標 Amazon RDS for MySQL 資料庫,具有足夠的資料遷移儲存空間
限制
AWS DMS 不會在目標資料庫上建立結構描述;您必須這麼做。目標必須已存在結構描述名稱。來源結構描述中的資料表會匯入至使用者/結構描述,AWS DMS 會使用此結構描述來連線至目標執行個體。如果您必須遷移多個結構描述,即必須建立多項複寫任務。
產品版本
10.2 版和更新版本、11g 版和最高 12.2 版,以及 18c 版的所有 Oracle 資料庫版本。如需支援版本的最新清單,請參閱使用 Oracle 資料庫做為 AWS DMS 的來源和使用 MySQL 相容資料庫做為 AWS DMS 的目標。我們建議您使用最新版本的 AWS DMS 來取得最完整的版本和功能支援。如需 AWS SCT 支援的 Oracle 資料庫版本的相關資訊,請參閱 AWS SCT 文件。
AWS DMS 支援 MySQL 5.5、5.6 和 5.7 版。
架構
來源技術堆疊
EC2 執行個體上的 Oracle 資料庫
目標技術堆疊
Amazon RDS for MySQL 資料庫執行個體
資料遷移架構

來源和目標架構

工具
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 將資料從來源資料庫遷移至目標資料庫,以完成遷移專案。
史詩
任務 | 描述 | 所需技能 |
---|---|---|
識別來源和目標資料庫版本和引擎。 | DBA/開發人員 | |
識別 DMS 複寫執行個體。 | DBA/開發人員 | |
識別儲存需求,例如儲存類型和容量。 | DBA/開發人員 | |
識別網路需求,例如延遲和頻寬。 | DBA/開發人員 | |
識別來源和目標伺服器執行個體的硬體需求 (根據 Oracle 相容性清單和容量需求)。 | DBA/開發人員 | |
識別來源和目標資料庫的網路存取安全需求。 | DBA/開發人員 | |
安裝 AWS SCT 和 Oracle 驅動程式。 | DBA/開發人員 | |
決定備份策略。 | DBA/開發人員 | |
確定可用性要求。 | DBA/開發人員 | |
識別應用程式遷移和切換策略。 | DBA/開發人員 | |
根據容量、儲存體和網路功能,選取適當的資料庫執行個體類型。 | DBA/開發人員 |
任務 | 描述 | 所需技能 |
---|---|---|
建立 Virtual Private Cloud (VPC) 來源、目標和複寫執行個體應位於相同的 VPC 中。最好在相同的可用區域中擁有這些項目。 | 開發人員 | |
建立資料庫存取所需的安全群組。 | 開發人員 | |
產生和設定金鑰對。 | 開發人員 | |
設定子網路、可用區域和 CIDR 區塊。 | 開發人員 |
任務 | 描述 | 所需技能 |
---|---|---|
在 Amazon EC2 上安裝 Oracle Database 與必要的使用者和角色。 | DBA | |
執行下一欄中的三個步驟,從 EC2 執行個體外部存取 Oracle。 |
| DBA |
重新啟動 Amazon EC2 時,公有 DNS 會變更。請務必更新 'tnsnames' 和 'listener' 中的 Amazon EC2 公有 DNS,或使用彈性 IP 地址。 | DBA/開發人員 | |
設定 EC2 執行個體安全群組,讓複寫執行個體和必要的用戶端可以存取來源資料庫。 | DBA/開發人員 |
任務 | 描述 | 所需技能 |
---|---|---|
設定和啟動 Amazon RDS for MySQL 資料庫執行個體。 | 開發人員 | |
在 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,請在來源資料庫中啟用 ARCHIVELOG 模式。 | DBA | |
建立來源和目標端點,並測試連線。 | 開發人員 | |
成功連接端點時,請建立複寫任務。 | 開發人員 | |
在任務中選取僅限 CDC (或) 完全載入加上 CDC,分別擷取僅限連續複寫 (或) 完全載入加上持續變更的變更。 | 開發人員 | |
執行複寫任務並監控 Amazon CloudWatch logs。 | 開發人員 | |
驗證來源和目標資料庫中的資料。 | 開發人員 |
任務 | 描述 | 所需技能 |
---|---|---|
請遵循應用程式遷移策略的步驟。 | DBA、開發人員、應用程式擁有者 | |
請遵循應用程式切換/切換策略的步驟。 | DBA、開發人員、應用程式擁有者 |
任務 | 描述 | 所需技能 |
---|---|---|
驗證來源資料庫與目標資料庫中的結構描述和資料。 | DBA/開發人員 | |
收集遷移時間、手動與工具的百分比、節省成本等指標。 | DBA/Developer/AppOwner | |
檢閱專案文件和成品。 | DBA/Developer/AppOwner | |
關閉臨時 AWS 資源。 | DBA/開發人員 | |
關閉專案並提供意見回饋。 | DBA/Developer/AppOwner |