選取您的 Cookie 偏好設定

我們使用提供自身網站和服務所需的基本 Cookie 和類似工具。我們使用效能 Cookie 收集匿名統計資料,以便了解客戶如何使用我們的網站並進行改進。基本 Cookie 無法停用,但可以按一下「自訂」或「拒絕」以拒絕效能 Cookie。

如果您同意,AWS 與經核准的第三方也會使用 Cookie 提供實用的網站功能、記住您的偏好設定,並顯示相關內容,包括相關廣告。若要接受或拒絕所有非必要 Cookie,請按一下「接受」或「拒絕」。若要進行更詳細的選擇,請按一下「自訂」。

從 Amazon RDS for Oracle 遷移至 Amazon RDS for MySQL - AWS 方案指引

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

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

從 Amazon RDS for Oracle 遷移至 Amazon RDS for MySQL

由 Jitender Kumar (AWS)、Neha Sharma (AWS) 和 Srini Ramaswamy (AWS) 建立

Summary

此模式提供將 Amazon Relational Database Service (Amazon RDS) for Oracle 資料庫執行個體遷移至 Amazon Web Services (AWS) 上 Amazon RDS for MySQL 資料庫執行個體的指引。模式使用 AWS Database Migration Service (AWS DMS) 和 AWS Schema Conversion Tool (AWS SCT)。 

模式提供處理預存程序遷移的最佳實務。它還涵蓋 和 程式碼變更,以支援應用程式層。

先決條件和限制

先決條件

  • 作用中的 AWS 帳戶

  • Amazon RDS for Oracle 來源資料庫。

  • Amazon RDS for MySQL 目標資料庫。來源和目標資料庫應位於相同的虛擬私有雲端 (VPC) 中。如果您使用的是多個 VPCs,或者您必須擁有必要的存取許可。

  • 允許來源和目標資料庫、AWS SCT、應用程式伺服器和 AWS DMS 之間連線的安全群組。

  • 具有在來源資料庫上執行 AWS SCT 所需權限的使用者帳戶。

  • 啟用補充記錄,以在來源資料庫上執行 AWS DMS。

限制

  • 來源和目標 Amazon RDS 資料庫大小限制為 64 TB。如需 Amazon RDS 大小資訊,請參閱 AWS 文件

  • Oracle 對資料庫物件不區分大小寫,但 MySQL 不區分大小寫。AWS SCT 可以在建立物件時處理此問題。不過,需要一些手動工作才能支援全案例不敏感。

  • 此遷移不會使用 MySQL 擴充功能來啟用 Oracle 原生函數。AWS SCT 會處理大多數轉換,但需要一些工作才能手動變更程式碼。

  • 應用程式中需要 Java Database Connectivity (JDBC) 驅動程式變更。

產品版本

架構

來源技術堆疊

目標技術堆疊

遷移架構

在下圖中,AWS SCT 會從 Amazon RDS for Oracle 來源資料庫複製和轉換結構描述物件,並將物件傳送至 Amazon RDS for MySQL 目標資料庫。AWS DMS 會從來源資料庫複寫資料,並將其傳送至 Amazon RDS for MySQL 執行個體。

部署在私有子網路中的 AWS SCT、AWS DMS 和 Amazon RDS。

工具

史詩

任務描述所需技能

驗證來源和目標資料庫版本和引擎。

DBA

識別目標伺服器執行個體的硬體需求。

DBA、SysAdmin

識別儲存需求 (儲存類型和容量)。

DBA、SysAdmin

選擇適當的執行個體類型 (容量、儲存功能、網路功能)。

DBA、SysAdmin

識別來源和目標資料庫的網路存取安全需求。

DBA、SysAdmin

選擇應用程式遷移策略。

考慮您想要切換活動的完整停機時間或部分停機時間。

DBA、SysAdmin、應用程式擁有者

準備遷移

任務描述所需技能

驗證來源和目標資料庫版本和引擎。

DBA

識別目標伺服器執行個體的硬體需求。

DBA、SysAdmin

識別儲存需求 (儲存類型和容量)。

DBA、SysAdmin

選擇適當的執行個體類型 (容量、儲存功能、網路功能)。

DBA、SysAdmin

識別來源和目標資料庫的網路存取安全需求。

DBA、SysAdmin

選擇應用程式遷移策略。

考慮您想要切換活動的完整停機時間或部分停機時間。

DBA、SysAdmin、應用程式擁有者
任務描述所需技能

建立 VPC 和子網路。

SysAdmin

建立安全群組和網路存取控制清單 ACLs)。

SysAdmin

設定和啟動 Amazon RDS for Oracle 執行個體。

DBA、SysAdmin

設定和啟動 Amazon RDS for MySQL 執行個體。

DBA、SysAdmin

準備測試案例以驗證程式碼轉換。

這將有助於對轉換後的程式碼進行單位測試。

DBA、開發人員

設定 AWS DMS 執行個體。

在 AWS DMS 中設定來源和目標端點。

設定基礎設施

任務描述所需技能

建立 VPC 和子網路。

SysAdmin

建立安全群組和網路存取控制清單 ACLs)。

SysAdmin

設定和啟動 Amazon RDS for Oracle 執行個體。

DBA、SysAdmin

設定和啟動 Amazon RDS for MySQL 執行個體。

DBA、SysAdmin

準備測試案例以驗證程式碼轉換。

這將有助於對轉換後的程式碼進行單位測試。

DBA、開發人員

設定 AWS DMS 執行個體。

在 AWS DMS 中設定來源和目標端點。

任務描述所需技能

使用 AWS SCT 產生目標資料庫指令碼。

檢查 AWS SCT 轉換之程式碼的準確性。需要一些手動工作。

DBA、開發人員

在 AWS SCT 中,選擇「不區分大小寫」設定。

在 AWS SCT 中,選擇專案設定、目標案例敏感度、不區分大小寫。

DBA、開發人員

在 AWS SCT 中,選擇不使用 Oracle 原生函數。

在專案設定中,檢查函數 TO_CHAR/TO_NUMBER/TO_DATE。

DBA、開發人員

變更 "sql%notfound" 程式碼。

您可能需要手動轉換程式碼。

查詢預存程序中的資料表和物件 (使用小寫查詢)。

DBA、開發人員

完成所有變更後建立主要指令碼,然後在目標資料庫上部署主要指令碼。

DBA、開發人員

使用範例資料對預存程序和應用程式呼叫進行單元測試。

清除在單位測試期間建立的資料。

DBA、開發人員

捨棄目標資料庫上的外部金鑰限制。

載入初始資料需要此步驟。如果您不想捨棄外部金鑰限制,您必須為主要和次要資料表特定的資料建立遷移任務。

DBA、開發人員

在目標資料庫上捨棄主索引鍵和唯一索引鍵。

此步驟可提升初始載入的效能。

DBA、開發人員

在來源資料庫上啟用補充記錄。

DBA

在 AWS DMS 中建立初始載入的遷移任務,然後執行它。

選擇 選項以遷移現有資料。

DBA

將主索引鍵和外部索引鍵新增至目標資料庫。

初始載入後需要新增限制條件。

DBA、開發人員

建立遷移任務以進行持續複寫。

持續複寫可讓目標資料庫與來源資料庫保持同步。

DBA

遷移資料

任務描述所需技能

使用 AWS SCT 產生目標資料庫指令碼。

檢查 AWS SCT 轉換之程式碼的準確性。需要一些手動工作。

DBA、開發人員

在 AWS SCT 中,選擇「不區分大小寫」設定。

在 AWS SCT 中,選擇專案設定、目標案例敏感度、不區分大小寫。

DBA、開發人員

在 AWS SCT 中,選擇不使用 Oracle 原生函數。

在專案設定中,檢查函數 TO_CHAR/TO_NUMBER/TO_DATE。

DBA、開發人員

變更 "sql%notfound" 程式碼。

您可能需要手動轉換程式碼。

查詢預存程序中的資料表和物件 (使用小寫查詢)。

DBA、開發人員

完成所有變更後建立主要指令碼,然後在目標資料庫上部署主要指令碼。

DBA、開發人員

使用範例資料對預存程序和應用程式呼叫進行單元測試。

清除在單位測試期間建立的資料。

DBA、開發人員

捨棄目標資料庫上的外部金鑰限制。

載入初始資料需要此步驟。如果您不想捨棄外部金鑰限制,您必須為主要和次要資料表特定的資料建立遷移任務。

DBA、開發人員

在目標資料庫上捨棄主索引鍵和唯一索引鍵。

此步驟可提升初始載入的效能。

DBA、開發人員

在來源資料庫上啟用補充記錄。

DBA

在 AWS DMS 中建立初始載入的遷移任務,然後執行它。

選擇 選項以遷移現有資料。

DBA

將主索引鍵和外部索引鍵新增至目標資料庫。

初始載入後需要新增限制條件。

DBA、開發人員

建立遷移任務以進行持續複寫。

持續複寫可讓目標資料庫與來源資料庫保持同步。

DBA
任務描述所需技能

將 Oracle 原生函數取代為 MySQL 原生函數。

應用程式擁有者

請確定 SQL 查詢中的資料庫物件只使用小寫名稱。

DBA、SysAdmin、應用程式擁有者

遷移應用程式

任務描述所需技能

將 Oracle 原生函數取代為 MySQL 原生函數。

應用程式擁有者

請確定 SQL 查詢中的資料庫物件只使用小寫名稱。

DBA、SysAdmin、應用程式擁有者
任務描述所需技能

關閉應用程式伺服器。

應用程式擁有者

驗證來源和目標資料庫是否同步。

DBA、應用程式擁有者

停止 Amazon RDS for Oracle 資料庫執行個體。

DBA

停止遷移任務。

這會在您完成上一個步驟後自動停止。

DBA

將 JDBC 連線從 Oracle 變更為 MySQL。

應用程式擁有者,DBA

啟動應用程式。

DBA、SysAdmin、應用程式擁有者

切換到目標資料庫

任務描述所需技能

關閉應用程式伺服器。

應用程式擁有者

驗證來源和目標資料庫是否同步。

DBA、應用程式擁有者

停止 Amazon RDS for Oracle 資料庫執行個體。

DBA

停止遷移任務。

這會在您完成上一個步驟後自動停止。

DBA

將 JDBC 連線從 Oracle 變更為 MySQL。

應用程式擁有者,DBA

啟動應用程式。

DBA、SysAdmin、應用程式擁有者
任務描述所需技能

檢閱並驗證專案文件。

DBA、SysAdmin

收集遷移時間、手動與工具任務的百分比、節省成本等指標。

DBA、SysAdmin

停止和刪除 AWS DMS 執行個體。

DBA

移除來源和目標端點。

DBA

移除遷移任務。

DBA

拍攝 Amazon RDS for Oracle 資料庫執行個體的快照。

DBA

刪除 Amazon RDS for Oracle 資料庫執行個體。

DBA

關閉並刪除您所使用的任何其他臨時 AWS 資源。

DBA、SysAdmin

關閉專案並提供任何意見回饋。

DBA

關閉專案

任務描述所需技能

檢閱並驗證專案文件。

DBA、SysAdmin

收集遷移時間、手動與工具任務的百分比、節省成本等指標。

DBA、SysAdmin

停止和刪除 AWS DMS 執行個體。

DBA

移除來源和目標端點。

DBA

移除遷移任務。

DBA

拍攝 Amazon RDS for Oracle 資料庫執行個體的快照。

DBA

刪除 Amazon RDS for Oracle 資料庫執行個體。

DBA

關閉並刪除您所使用的任何其他臨時 AWS 資源。

DBA、SysAdmin

關閉專案並提供任何意見回饋。

DBA

相關資源

隱私權網站條款Cookie 偏好設定
© 2025, Amazon Web Services, Inc.或其附屬公司。保留所有權利。