從現場部署的 Oracle 資料庫遷移資料至 Aurora PostgreSQL - AWS Prescriptive Guidance

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

從現場部署的 Oracle 資料庫遷移資料至 Aurora PostgreSQL

由鄧美雪 (AWS) 創作

R 類型 重新架構

來源:資料庫:關聯

目標:Amazon Aurora PostgreSQL

建立者:AWS

:Conment PoC 或試驗

Technologies 資料庫; 移轉

工作負載:Oracle

AWS 服務:Amazon Aurora

Summary

此模式提供從現場部署 Oracle 資料庫遷移到 Amazon Aurora PostgreQ 相容版的資料指引。它針對包含具有高資料操作語言 (DML) 活動之大型表格的多 TB Oracle 資料庫,以最少停機時間為目標的線上資料移轉策略。「Oracle 作用中資料保全」待命資料庫是用來從主要資料庫卸載資料移轉的來源。從 Oracle 主要資料庫複製到待命資料庫可以在完整載入期間暫停,以避免發生 ORA-01555 錯誤。 

在主鍵(PK)或外鍵(FK)表列,與數據類型 NUMBER,通常用於存儲在 Oracle 整數。我們建議您在 PostgreSQL 中將它們轉換為 INT 或 BIGINT 以獲得更好的性能。 您可以使用開放原始碼工具Ora2PG在完整資料載入期間處理這種類型的資料轉換。此模式中的資料遷移使用 ORA2PG 進行全負載,使用 AWS Database Migration Service (AWS DMS) 進行變更資料擷取 (CDC)。

先決條件和限制

先決條件

限制

  • 資料庫大小限制:64 TB

產品版本

Architecture

來源技術堆疊

  • 已設定 Oracle 作用中資料保全待命的內部部署 Oracle 資料庫

目標技術堆疊

  • Aurora PostgreSQL 相容 

資料遷移架構

Tools

  • AWS DMS-AWS Database Migration Service(AWS DMS) 支援數個來源和目標資料庫。請參閱使用 Oracle 資料庫做為 AWS DMS 的來源,以取 AWS 支援的 Oracle 來源和目標資料庫版本和版本的清單。如果 AWS DMS 不支援來源資料庫,您必須選取其他方法來移轉階段 6 (在「Epics」區段) 中的資料。重要說明  因為這是異質移轉,您必須先檢查資料庫是否支援商業現成 (COTS) 應用程式。如果應用程式是 COTS,請先洽詢廠商以確認支援 Aurora PostgreQL 相容性,然後再繼續進行。如需詳細資訊,請參閱「」AWS DMS 逐步遷移逐步逐步解說在 AWS 文件中。

  • AWS SCT-AWS Schema Conversion Tool(AWS SCT) 讓異質資料庫遷移變得更容易,因為它會自動將來源資料庫結構描述和大多數的自訂程式碼,轉換成與目標資料庫相容的格式。此工具轉換的自訂程式碼包括檢視、預存程序和函式。工具無法自動轉換的任何程式碼都會清楚標示,以便您可以自行轉換。 

  • Ora2PG-Ora2PG是一個免費的工具,您可以使用 Aurora 相容的結構描述將 Oracle 資料庫移轉至 PostgreSQL。它可以用於大型企業數據庫遷移。ORA2PG 由一個 Perl 腳本(或者 2pg)和一個 Perl 模塊(ORA2PG)組成。Ora2PG 需要一個 Oracle 即時客戶端,一個在 Aurora 客戶端上的 PostgreSQL,以及 Perl 模塊 DBD። 甲骨文和 DBD። PG 來連接到甲骨文和 Aurora PostgreSQL 兼容。您可以在 Ora2PG 組態檔中將資料來源名稱 (DSN) 設定為 Oracle 資料庫來設定來源。您可以在組態檔案中設定資料來源名稱,將資料直接匯入至與 Aurora PostgreSQL 相容的資料庫。您可以使用組態選項來管理平行工作。

Epics

任務描述所需技能
驗證來源和目標資料庫版本。

DBA
安裝 AWS SCT 和驅動程式。

DBA
新增和驗證 AWS SCT 必要條件使用者和授權來源資料庫。

DBA
為工作負載建立 AWS SCT 專案,然後連線到來源資料庫。

DBA
產生評估報告並評估可行性。

DBA, 委任人
任務描述所需技能
建立 Aurora PostgreSQL 相容的目標資料庫。DBA
從來源資料庫擷取使用者、角色和授與清單。

DBA
將現有的資料庫使用者對應至新的資料庫使用者。

委任人
在目標資料庫中建立使用者。

DBA
將上一個步驟中的角色套用至目標 Aurora PostgreQ 相容的資料庫。DBA
從來源資料庫複查資料庫選項、參數、網路檔案和資料庫連結,並評估其對目標資料庫的適用性。

DBA, 委任人
將任何相關設定套用至目標資料庫。

DBA
任務描述所需技能
設定 AWS SCT 連接到目標資料庫的連線。

DBA
在 AWS SCT 中轉換結構描述,並將自動轉換的程式碼儲存為 .sql 檔案。

DBA, 委任人
手動轉換任何無法自動轉換的資料庫物件。

DBA, 委任人
最佳化資料庫程式碼轉換。

DBA, 委任人
根據物件類型,將 .sql 檔案分隔成多個 .sql 檔案。

DBA, 委任人
驗證目標資料庫中的 SQL 命令檔。

DBA, 委任人
任務描述所需技能
啟動 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,使用適用於 Linux 的 Amazon Elastic Compute Cloud (AMI)。

SysAdmin
將 Ora2PG 和必要的 Oracle 資料庫安裝到 Aurora 上的 PostgreSQL 資料庫,然後在 EC2 執行處理上安裝 Perl 模組。

DBA
在 Ora2PG 組態檔中設定選項,並執行連線和資料載入測試。

DBA
任務描述所需技能
在目標資料庫中建立結構描述和資料表。

DBA
透過分組表格或根據表格大小分割大表格,為工作建立 ORA2PG 組態檔。

DBA, 委任人
短暫停止來源 Oracle 資料庫上的應用程式。

委任人
驗證 Oracle 待命資料庫與主要資料庫同步,並停止從主要資料庫複製到待命資料庫。

DBA
在來源 Oracle 資料庫上啟動應用程式。

委任人
從 Oracle 待命資料庫平行啟動 ORA2PG 資料完整載入工作至 Aurora PostgreQ 相容的資料庫。DBA
完整負載完成之後,建立 PK 和次要索引。

DBA
驗證資料。

DBA
任務描述所需技能
建立 AWS DMS 複寫執行個體。

DBA
建立來源與目標端點。

DBA
在 Oracle 待命與主要資料庫同步處理時,以及在上一個任務中重新啟動應用程式之前,使用時間或系統變更編號 (SCN),建立 AWS DMS 進行中的複寫任務。

DBA
並行啟動 AWS DMS 任務,將進行中的變更從 Oracle 備用資料庫複製到與 Aurora PostgreQ 相容的資料庫。DBA
從 Oracle 主要資料庫重新建立複製到待命資料庫。

DBA
當目標 Aurora PostgreSQL 相容資料庫幾乎與來源 Oracle 資料庫同步時,監督日誌並停止 Oracle 資料庫上的應用程式。DBA, 委任人
當目標與來源 Oracle 資料庫完全同步時,停止 AWS DMS 任務。

DBA
創建 FK 並驗證目標數據庫中的數據。

DBA
在目標資料庫中建立函數、檢視、觸發程序、序列和其他物件類型。

DBA
在目標資料庫中套用角色授與。

DBA
任務描述所需技能
使用 AWS SCT 分析和轉換應用程式程式碼內的 SQL 陳述式。

委任人
在 AWS 上建立新的應用程式伺服器。

委任人
將應用程式程式碼移轉至新的伺服器。

委任人
設定目標資料庫和驅動程式的應用程式伺服器。

委任人
修正應用程式中特定於來源資料庫引擎的任何程式碼。

委任人
最佳化目標資料庫的應用程式碼。

委任人
任務描述所需技能
將新的應用程式伺服器指向目標資料庫。

DBA 與委任人
執行完整性檢查。

DBA 與委任人
去直播

DBA 與委任人
任務描述所需技能
關閉臨時 AWS 資源。

DBA, SysAdmin
複查並驗證專案文件。

DBA, 委任人
收集需要遷移的時間指標、手動與工具的百分比、節省成本等。

DBA, 委任人
關閉專案並提供回饋。

DBA, 委任人

相關資源

References

教學課程

將 Amazon RDS Oracle 資料庫遷移到 Amazon Aurora MySQL 相容版本