使用共享和 AWS 數據管理系統從甲骨文 8i 或 9i 遷移到適用於登錄的 Amazon RDS for PostgreSQL - AWS Prescriptive Guidance

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

使用共享和 AWS 數據管理系統從甲骨文 8i 或 9i 遷移到適用於登錄的 Amazon RDS for PostgreSQL

由庫馬爾巴布 P G(AWS)創建

:Conment PoC 或試驗

來源:資料庫:關聯

目標:Amazon RDS for PostgreSQL/Amazon RDS for PostgreSQL

R 類型 重新架構

工作負載:Oracle

技術:移轉; 資料庫

AWS 服務:Amazon RDS; Amazon Aurora

Summary

此模式描述如何將現場部署 Oracle 8i 或 9i 資料庫遷移到適用於 PostgreSQL 或 Amazon Amazon Aurora Amazon Relational Database Service (Amazon RDS)。AWS Database Migration Service (AWS DMS) 不支援 Oracle 8i 或 9i 作為來源,因此任務共享將資料從現場部署 8i 或 9i 資料庫複製到與 AWS DMS 相容的中繼 Oracle 資料庫 (Oracle 10g 或 11g)。

從中繼 Oracle 執行個體中,結構描述和資料會透過使用 AWS 結構描述轉換工具 (AWS SCT) 和 AWS DMS 將結構描述和資料遷移到 AWS 上的 PostgreSQL 資料庫。此方法有助於將資料從來源 Oracle 資料庫連續串流到目標 PostgreSQL 資料庫執行個體,並且具有最小的複寫延遲。在此實作中,停機時間限制為在目標 PostgreSQL 資料庫上建立或驗證所有外部索引鍵、觸發程序和序列所需的時間長度。

遷移會使用 Amazon Elastic Compute Cloud (Amazon EC2) 執行個體,並安裝 Oracle 10g 或 11g,以託管來自來源 Oracle 資料庫的變更。AWS DMS 會使用此中繼 Oracle 執行個體作為來源,將資料串流到適用於 PostgreSQL 行或 Aurora 執行個體的 Amazon RDS。資料複寫可以暫停,並從內部部署 Oracle 資料庫恢復到中繼 Oracle 執行處理。它也可以從中繼 Oracle 執行個體暫停並恢復到目標 PostgreSQL 資料庫,以便您可以使用 AWS DMS 資料驗證或自訂資料驗證工具來驗證資料。

先決條件和限制

先決條件

限制

  • 資料庫大小限制為 64 TB

  • 內部部署 Oracle 資料庫必須是企業版

產品版本

  • 來源資料庫的 Oracle 8i 或 9i

  • 中間數據庫的甲骨文 10g 或 11g

  • PostgreSQL 9.6 或更新版

Architecture

來源技術堆疊

  • 甲骨文 8i 或 9i 數据庫 

  • 任務共有 

目標技術堆疊

  • Amazon RDS for PostgreSQL 或 Aurora PostgreSQL

來源與目標架構

Tools

  • AWS DMSAWS Database Migration Service(AWS DMS) 可協助您快速、安全地遷移資料庫。來源資料庫在遷移期間仍然能夠維持完全正常運作,以便將倚賴資料庫的應用程式停機時間縮到最短 AWS DMS 可以在最廣為使用的商業資料庫及開放原始碼資料庫之間來回遷移您的資料。 

  • AWS SCTAWS Schema Conversion Tool(AWS SCT) 讓異質資料庫遷移變得更容易預測,因為它會自動將來源資料庫結構描述和大多數的資料庫程式碼物件,包括檢視、儲存程序及函數,轉換成與目標資料庫相容的格式。無法自動轉換的物件會清楚標示,以便進行手動轉換以完成遷移。AWS SCT 也可以掃描您的應用程式原始程式碼以尋找嵌入式 SQL 陳述式,並將其轉換為資料庫結構描述轉換專案的一部分。在此程序期間,AWS SCT 會將舊版 Oracle 和 SQL Server 函數轉換為其 AWS 對等項目,以執行雲端原生程式碼最佳化,協助您在移轉資料庫的同時,將應用程式現代化。結構描述轉換完成後,AWS SCT 可以使用內建的資料遷移代理程式,協助將資料從一系列資料倉儲遷移到 Amazon Redshift。

  • 任務共有任務共有是 Oracle 到 Oracle 的資料複製工具,可在最短的停機時間內移動資料,而且不會遺失資料。

Epics

任務描述所有技能
設定 Amazon EC2 的網路。

建立虛擬私有雲端 (VPC)、子網路、網際網路閘道、路由表和安全群組。

AWS SysAdmin
建立新的 EC2 執行個體。

選取 EC2 執行個體的 Amazon Machine Image (AMI)。選擇執行個體大小並設定執行個體詳細資料:執行個體數目 (1)、上一個步驟中的 VPC 和子網路、自動指派公用 IP 以及其他選項。新增儲存體、設定安全性群組,然後啟動執行個體。出現提示時,請建立並儲存 key pair 以供下一個步驟使用。

AWS SysAdmin
在 EC2 執行個體上安裝 Oracle。

取得授權和所需的 Oracle 二進位檔案,並在 EC2 執行個體上安裝 Oracle 10g 或 11g。

DBA
任務描述必要技能
設定共用。

建立一個 Amazon EC2 執行個體,並安裝與 Oracle 8i 或 9i 相容的二進位檔。

AWS SysAdmin, DBA
設定資料複製。

請遵循 Plex 的最佳做法,設定從內部部署 Oracle 8I/9i 資料庫複寫到 Oracle 10g/11g 執行個體的資料複寫。

DBA
任務描述必要技能
設定 AWS SCT。

建立新報表,然後連線至 Oracle 做為來源,並連線至 PostgreSQL 做為目標。在項目設置中,打開 SQL 腳本選項卡並將目標 SQL 腳本更改為多個文件。

DBA
轉換 Oracle 數据庫模式。

在「動作」頁籤中,選擇「產生報表」、「轉換綱要」,然後選擇「另存為 SQL」。

DBA
修改 AWS SCT 產生的 SQL 指令碼。DBA
任務描述必要技能
建立 Amazon RDS 資料庫執行個體。

在 Amazon RDS 主控台中,建立新的 PostgreSQL 資料庫執行個體。

AWS SysAdmin, DBA
設定資料庫執行個體。

指定資料庫引擎版本、資料庫執行個體類別、異地同步備份部署、儲存類型和配置的儲存體。輸入資料庫執行個體識別碼、主要使用者名稱和主要密碼。

AWS SysAdmin, DBA
設定網路和安全性。

指定 VPC、子網路群組、公用可存取性、可用區域喜好設定和安全性群組。

AWS SysAdmin, DBA
設定資料庫選項。

指定資料庫名稱、連接埠、參數群組、加密和主要金鑰。

AWS SysAdmin, DBA
設定備份。

指定備份保留期間、備份時段、開始時間、持續時間,以及是否將標記複製到快照。

AWS SysAdmin, DBA
設定監控選項。

啟用或停用增強型監控和效能深入資訊。

AWS SysAdmin, DBA
設定維護選項。

指定自動次要版本升級、維護期間,以及開始日期、時間和持續時間。

AWS SysAdmin, DBA
從 AWS SCT 執行移轉前指令碼。

在亞馬遜 RDS 執行個體上,執行下列指令碼:create_database.sql、create_sequence.sql、、、和執行。create_table.sql create_view.sql create_function.sql

AWS SysAdmin, DBA
任務描述必要技能
在 AWS DMS 中建立複寫執行個體。

填寫名稱、執行個體類別、VPC (與 EC2 執行個體相同)、異地同步備份和公共可存取性的欄位。在進階設定區段中,指定已配置的儲存、子網路群組、可用區域、VPC 安全群組和 AWS Key Management Service (AWS KMS) 根金鑰。

AWS SysAdmin, DBA
建立來源資料庫端點。

指定端點名稱、類型、來源引擎 (Oracle)、伺服器名稱 (Amazon EC2 私有 DNS 名稱)、連接埠、SSL 模式、使用者名稱、密碼、SID、VPC (指定具有複寫執行個體的 VPC) 以及複寫執行個體。若要測試連線,請選擇 Run test (執行測試),然後建立端點。您也可以設定下列進階設定:最大檔案大小和 numberDataTypeScale 小。

AWS SysAdmin, DBA
建立 AWS DMS 複寫任務。

指定任務名稱、複寫執行個體、來源和目標端點,以及複寫執行個體。針對遷移類型,選擇「遷移現有資料並複寫持續的變更」。清除 [建立時開始工作] 核取方塊。

AWS SysAdmin, DBA
設定 AWS DMS 複寫任務設定。

對於目標表格準備模式,請選擇「不執行任何動作」。完整載入完成後停止工作,以建立主索引鍵。指定有限或完整 LOB 模式,並啟用控制表。或者,您可以設定「確認率」進階設定。

DBA
設定表格對映。

在 [表格對應] 區段中,為移轉中包含的所有結構描述中的所有表格建立包含規則,然後建立排除規則。新增三個轉換規則,將結構描述、資料表和資料行名稱轉換為小寫,並新增此特定移轉所需的任何其他規則。

DBA
啟動任務。

啟動複寫任務。請確定完整負載正在執行。在主要 Oracle 資料庫上執行變更系統切換記錄檔,以啟動此工作。

DBA
從 AWS SCT 執行中期遷移指令碼。

在 Amazon RDS for PostgreSQL 中,運行以下腳本:create_index.sql 和 create_constraint.sql。

DBA
重新啟動工作以繼續變更資料擷取 (CDC)。

在 Amazon RDS for PostgreSQL 資料庫執行個體中,執行真空,然後重新啟動 AWS DMS 任務以套用快取的 CDC 變更。

DBA
任務描述必要技能
檢查 AWS DMS 日誌和中繼資料表格。

驗證任何錯誤並視需要修正。

DBA
停止所有 Oracle 相依性。

請在 Oracle 資料庫上關閉接聽程式,然後執行 ALTER Developer Digfile。當 AWS DMS 任務沒有顯示任何活動時停止。

DBA
從 AWS SCT 執行移轉後指令碼。

在 Amazon RDS for PostgreSQL 中,運行以下腳本:create_foreign_key_constraint.sql 和 create_triggers.sql。

DBA
完成任何額外的 Amazon RDS for PostgreSQL 的步驟。

增量序列以符合 Oracle(如果需要),請執行真空和分析,並拍攝相容性的快照。

DBA
打開 Amazon RDS for PostgreSQL。

從適用 Amazon RDS for PostgreSQL 移除 AWS DMS 安全群組、新增生產安全群組,然後將應用程式指向新的資料庫。

DBA
清理 AWS DMS 資源。

移除端點、複寫工作、複寫執行個體和 EC2 執行個體。

SysAdmin, DBA

相關資源