本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
將資料從內部部署 Oracle 資料庫遷 PostgreSQL 至 Aurora
由鄧美雪(AWS)和蜀南祥(AWS)創建
環境:PoC 或試點 | 來源:甲骨文 | 目標:Aurora 郵政兼容 |
R 型:重新建築 | 工作量:甲骨文 | 技術:移轉;資料庫 |
AWS 服務:Amazon Aurora;AWS DMS;AWS SCT |
Summary
此模式提供從現場部署 Oracle 資料庫移轉至 Amazon Aurora PostgreSQL 相容版本的資料指引。它針對包含具有高資料處理語言 (DML) 活動的大型表格的多 TB Oracle 資料庫停機時間最少的線上資料移轉策略。「Oracle 作用中資料保全」待命資料庫是用來卸載主要資料庫之資料移轉的來源。在完全負載期間,可以暫停從 Oracle 主要資料庫到待命資料庫的複寫,以避免發生 ORA-01555 錯誤。
主鍵(PK)或具有數據類型 NUMBER 的外鍵(FK)中的表列通常用於在 Oracle 中存儲整數。我們建議您在 PostgreSQL 中將它們轉換為 INT 或大 INT,以獲得更好的性能。您可以使用 AWS Schema Conversion Tool (AWS SCT) 變更 PK 和 FK 欄的預設資料類型對應。如需詳細資訊,請參閱 AWS 部落格文章將 NUMBER 資料類型從甲骨文轉換為 PostgreSQL
您也可以使用此模式將現場部署 Oracle 資料庫遷移到適用於 PostgreSQL 的 Amazon Relational Database Service 服務 (Amazon RDS) 或亞馬遜彈性運算雲端 (亞馬遜 EC2) 上託管的甲骨文資料庫遷移到 Amazon RDS (適用於 PostgreSQL) 或 Aurora PostgreSQL 相容。
先決條件和限制
先決條件
有效的 AWS 帳戶
內部部署資料中心中已設定作用中資料保全待命的 Oracle 來源資料庫
在現場部署資料中心和 AWS 雲端之間設定 AWS Direct Connect
限制
Amazon Aurora 資料庫叢集可以建立最多 128 TiB 的儲存體。Amazon RDS for PostgreSQL 的資料庫執行個體可以建立最多 64 TiB 的儲存體。如需最新儲存資訊,請參閱 AWS 文件中的 Amazon Aurora 儲存和可靠性以及 Amazon RDS 資料庫執行個體儲存。
產品版本
AWS DMS 支援 10.2 及更新版本 (適用於版本 10.x)、11 克以及最高 12.2、18c 和 19 c 的所有甲骨文資料庫版本。如需支援版本的最新清單,請參閱 AWS 文件中的使用 Oracle 資料庫做為 AWS DMS 的來源。
架構
源, 技術, 堆棧
設定 Oracle 作用中資料保全待命的內部部署 Oracle 資料庫
目標技術堆疊
Aurora 郵政兼容
資料移轉架構
工具
AWS DMS-AWS Database Migration Service (AWS DMS) 支援多個來源和目標資料庫。如需支援的 Oracle 來源和目標資料庫版本和版本清單,請參閱 AWS DMS 文件中的使用 Oracle 資料庫做為 AWS DMS 的來源。如果 AWS DMS 不支援來源資料庫,您必須選取另一種移轉階段 6 中的資料的方法 (在「史詩」區段中)。 重要注意事項:由於這是異質移轉,因此您必須先檢查資料庫是否支援商業 off-the-shelf (COTS) 應用程式。如果應用程式為 COTS,請在繼續之前諮詢廠商以確認是否支援 Aurora PostgreSQL 相容。如需詳細資訊,請參閱 AWS 文件中的 AWS DMS 逐步移轉逐步解說。
AWS SCT-AWS S chema Conversion Tool (AWS SCT) 會自動將來源資料庫結構描述和大部分自訂程式碼轉換為與目標資料庫相容的格式,以促進異質資料庫遷移。該工具轉換的自定義代碼包括視圖,存儲過程和函數。該工具無法自動轉換的任何代碼都會清楚標記,以便您可以自行轉換。
史诗
任務 | 描述 | 所需技能 |
---|---|---|
驗證來源和目標資料庫版本。 | DBA | |
安裝 AWS SCT 和驅動程式。 | DBA | |
新增和驗證 AWS SCT 先決條件使用者和補助金來源資料庫。 | DBA | |
為工作負載建立 AWS SCT 專案,並連線到來源資料庫。 | DBA | |
產生評估報告並評估可行性。 | DBA,應用程式擁有者 |
任務 | 描述 | 所需技能 |
---|---|---|
建立與 Aurora PostgreSQL 相容的目標資料庫。 | DBA | |
從來源資料庫擷取使用者、角色和授權清單。 | DBA | |
將現有的資料庫使用者對應至新的資料庫使用者。 | 應用所有者 | |
在目標資料庫中建立使用者。 | DBA | |
將上一個步驟中的角色套用至目標 Aurora PostgreSQL 相容資料庫。 | DBA | |
複查來源資料庫中的資料庫選項、參數、網路檔案和資料庫連結,並評估它們對目標資料庫的適用性。 | DBA,應用程式擁有者 | |
將任何相關設定套用至目標資料庫。 | DBA |
任務 | 描述 | 所需技能 |
---|---|---|
設定與目標資料庫的 AWS SCT 連線。 | DBA | |
在 AWS SCT 中轉換結構描述,並將轉換後的程式碼儲存為 .sql 檔案。 | DBA,應用程式擁有者 | |
手動轉換任何無法自動轉換的資料庫物件。 | DBA,應用程式擁有者 | |
優化數據庫代碼轉換。 | DBA,應用程式擁有者 | |
根據物件類型,將 .sql 檔案分隔成多個 .sql 檔案。 | DBA,應用程式擁有者 | |
驗證目標資料庫中的 SQL 指令碼。 | DBA,應用程式擁有者 |
任務 | 描述 | 所需技能 |
---|---|---|
建立 AWS DMS 複寫執行個體。 | DBA | |
建立來源端點和目標端點。 | 如果 PKS 和 FK 的資料類型是從 Oracle 中的數字轉換為 PostgreSQL 中的 BIGINT,請考慮在建立來源端點 | DBA |
任務 | 描述 | 所需技能 |
---|---|---|
在目標資料庫中建立結構描述和表格。 | DBA | |
透過將資料表分組或根據資料表大小分割大型資料表,來建立 AWS DMS 全負載任務。 | DBA | |
短時間停止來源 Oracle 資料庫上的應用程式。 | 應用所有者 | |
確認 Oracle 待命資料庫與主要資料庫是否同步,並停止從主要資料庫複製到待命資料庫。 | DBA,應用程式擁有者 | |
在來源 Oracle 資料庫上啟動應用程式。 | 應用所有者 | |
從 Oracle 待命資料庫到 Aurora PostgreSQL 相容的資料庫,以 parallel 方式啟動 AWS DMS 全負載任務。 | DBA | |
在滿載完成後建立 PKs 和次要索引。 | DBA | |
驗證資料。 | DBA |
任務 | 描述 | 所需技能 |
---|---|---|
透過指定自訂 CDC 開始時間或系統變更編號 (SCN),以建立 AWS DMS 進行中的複寫任務,方法是在 Oracle 待命與主資料庫同步化時,以及在先前的任務中重新啟動應用程式之前。 | DBA | |
parallel 啟動 AWS DMS 任務,將進行中的變更從 Oracle 待命資料庫複寫到 Aurora PostgreSQL 相容的資料庫。 | DBA | |
重新建立從 Oracle 主要資料庫到待命資料庫的複製。 | DBA | |
當目標 Aurora PostgreSQL 相容資料庫幾乎與來源 Oracle 資料庫同步時,請監視記錄檔並停止 Oracle 資料庫上的應用程式。 | DBA,應用程式擁有者 | |
當目標與來源 Oracle 資料庫完全同步時,請停止 AWS DMS 任務。 | DBA | |
建立 SDK 並驗證目標資料庫中的資料。 | DBA | |
在目標資料庫中建立函數、檢視、觸發程序、序列及其他物件類型。 | DBA | |
在目標資料庫中套用角色授與。 | DBA |
任務 | 描述 | 所需技能 |
---|---|---|
使用 AWS SCT 分析和轉換應用程式程式碼中的 SQL 陳述式。 | 應用所有者 | |
在 AWS 上建立新的應用程式伺服器。 | 應用所有者 | |
將應用程式程式碼移轉至新伺服器。 | 應用所有者 | |
設定目標資料庫和驅動程式的應用程式伺服器。 | 應用所有者 | |
修正應用程式中原始碼資料庫引擎專屬的任何程式碼。 | 應用所有者 | |
最佳化目標資料庫的應用程式程式碼。 | 應用所有者 |
任務 | 描述 | 所需技能 |
---|---|---|
將新的應用程式伺服器指向目標資料庫。 | DBA,應用程式擁有者 | |
執行完整性檢查。 | DBA,應用程式擁有者 | |
去直播吧。 | DBA,應用程式擁有者 |
任務 | 描述 | 所需技能 |
---|---|---|
關閉臨時 AWS 資源。 | DBA, 系統管理員 | |
審核並驗證專案文件。 | DBA,應用程式擁有者 | |
收集移轉時間的指標、手動與工具使用的百分比、節省成本,以及類似資料。 | DBA,應用程式擁有者 | |
關閉專案並提供意見反應。 | DBA,應用程式擁有者 |
相關資源
參考
教學課程