使用 AWS DMS 和 AWS SCT 從亞馬遜上的甲骨文遷移到 Amazon RDS for MySQL - AWS 方案指引

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

使用 AWS DMS 和 AWS SCT 從亞馬遜上的甲骨文遷移到 Amazon RDS for MySQL

由阿尼爾·庫納帕雷迪(AWS)和哈沙德戈希爾創建

環境:PoC 或試點

來源:數據庫:關係

目標:適用於 MySQL 的 Amazon RDS for MySQL

R 型:重新建築

工作量:甲骨文

技術:移轉;資料庫

AWS 服務:Amazon RDS

Summary

在亞馬遜彈性運算雲端 (Amazon EC2) 執行個體上管理 Oracle 資料庫需要資源,而且成本高昂。將這些資料庫移至適用於 MySQL 資料庫執行個體的 Amazon 關聯式資料庫服務 (Amazon RDS),可將整體 IT 預算最佳化,以簡化您的工作。Amazon RDS for MySQL 也提供異地同步備份、可擴展性和自動備份等功能。 

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

先決條件和限制

先決條件

  • 有效的 AWS 帳戶

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

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

限制

  • AWS DMS 不會在目標資料庫上建立結構描述;您必須這麼做。目標的綱要名稱必須已存在。來源結構描述中的表格會匯入使用者/結構描述,AWS DMS 用來連接到目標執行個體。如果您必須遷移多個結構描述,即必須建立多項複寫任務。

產品版本

架構

源, 技術, 堆棧

  • EC2 執行個體上的甲骨文資料庫  

目標技術堆疊

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

資料移轉架構

來源與目標架構

工具

  • AWS DMS-AWS Database Migration Service (AWS DMS) 是一種網路服務,可用來將資料從現場部署的資料庫、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 和甲骨文驅動程式。

DBA/開發人員

決定備份策略。

DBA/開發人員

決定可用性需求。

DBA/開發人員

識別應用程式遷移和切換策略。

DBA/開發人員

根據容量、儲存和網路功能,選擇適當的資料庫執行個體類型。

DBA/開發人員
任務描述所需技能

建立 Virtual Private Cloud (VPC) 來源、目標和複寫執行個體應位於相同的 VPC 中。將它們放在相同的可用區域中也很好。

開發人員

建立資料庫存取所需的安全性群組。

開發人員

產生並設定 key pair。

開發人員

設定子網路、可用區域和 CIDR 區塊。

開發人員
任務描述所需技能

在具有必要使用者和角色的 Amazon EC2 上安裝 Oracle 資料庫。

DBA

執行下一欄中的三個步驟,以便從 EC2 執行個體外部存取 Oracle。

  1. 將本機主機變更tnsnames為 Amazon EC2 公有 DNS。

  2. 將本機主機變更listener為 Amazon EC2 公有 DNS。

  3. 停止並重新啟動監聽器。

DBA

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

DBA/開發人員

設定 EC2 執行個體安全群組,以便複寫執行個體和必要的用戶端可以存取來源資料庫。

DBA/開發人員
任務描述所需技能

設定並啟動 Amazon RDS for MySQL 的資料庫執行個體。

開發人員

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

DBA

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

開發人員
任務描述所需技能

安裝 AWS SCT 和甲骨文驅動程式。

開發人員

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

開發人員

產生結構描述轉換報告。

開發人員

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

開發人員

移轉資料之前,請先驗證來源與目標上的結構描述。

開發人員
任務描述所需技能

對於全負載和變更資料擷取 (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/ 開發人員/AppOwner

審核專案文件和人工因素。

DBA/ 開發人員/AppOwner

關閉臨時 AWS 資源。

DBA/開發人員

關閉專案並提供意見反應。

DBA/ 開發人員/AppOwner

相關資源