本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
使用 Oracle SQL開發人員和 逐步從 Amazon RDS for Oracle 遷移至 Amazon RDS for PostgreSQL AWS SCT
由 Pinesh Singal 建立 (AWS)
環境:PoC 或試行 | 來源:Amazon RDS for Oracle | 目標:Amazon RDS for PostgreSQL |
R 類型:重新架構 | 工作負載:Oracle | 技術:遷移;資料庫;現代化 |
AWS 服務:Amazon EC2;Amazon RDS |
Summary
許多遷移策略和方法以多個階段執行,持續時間可能從數週到數個月。在此期間,由於要遷移至 PostgreSQL 資料庫執行個體的來源 Oracle 資料庫執行個體中的修補或升級,您可能會遇到延遲。為了避免這種情況,建議您將剩餘的 Oracle 資料庫程式碼逐步遷移至 PostgreSQL 資料庫程式碼。
此模式提供增量遷移策略,對於初始遷移後執行大量交易且必須遷移至 PostgreSQL 資料庫的多 TB Oracle 資料庫執行個體,其不會停機。您可以使用此模式 step-by-step的方法,將 Oracle 資料庫執行個體的 Amazon Relational Database Service (Amazon RDS) 逐步遷移至 Amazon RDS for PostgreSQL 資料庫執行個體,而無需登入 Amazon Web Services (AWS) 管理主控台。
此模式使用 Oracle SQL 開發人員
注意:在遷移生產工作負載之前,建議您在測試或非生產環境中,針對此模式的方法執行概念驗證 PoC)。
先決條件和限制
先決條件
作用中的 AWS 帳戶。
現有的 Amazon RDS for Oracle 資料庫執行個體。
現有的 Amazon RDS for PostgreSQL 資料庫執行個體。
AWS SCT,安裝並設定 Oracle 和 PostgreSQL 資料庫引擎的JDBC驅動程式。如需詳細資訊,請參閱 AWS SCT 文件中的安裝AWSSCT和安裝所需的資料庫驅動程式。
Oracle SQL 開發人員,已安裝並設定。如需詳細資訊,請參閱 Oracle SQL開發人員
文件。 incremental-migration-sct-sql.zip
檔案 (已連接),已下載至本機電腦。
限制
來源 Amazon RDS for Oracle 資料庫執行個體的最低需求為:
Oracle 10.2 版及更新版本 (適用於 10.x 版)、11g (11.2.0.3.v1 版及更新版本),以及 Enterprise、Standard、Standard One 和 Standard Two 版的 18c
您的目標 Amazon RDS for PostgreSQL 資料庫執行個體的最低需求為:
PostgreSQL 9.4 版和更新版本 (適用於 9.x 版)、10.x 和 11.x 版
此模式使用 Oracle SQL 開發人員。如果您使用其他工具尋找和匯出結構描述差異,結果可能會有所不同。
Oracle SQL開發人員產生的SQL指令碼
可能會引發轉換錯誤,這表示您需要執行手動遷移。 如果AWSSCT來源和目標測試連線失敗,請確定您已設定虛擬私有雲端 (VPC) 安全群組的JDBC驅動程式版本和傳入規則,以接受傳入流量。
產品版本
Amazon RDS for Oracle 資料庫執行個體 12.1.0.2 版 (10.2 版及更新版本)
Amazon RDS for PostgreSQL 資料庫執行個體 11.5 版 (9.4 版及更新版本)
Oracle SQL 開發人員 19.1 版及更新版本
AWS SCT 1.0.632 版及更新版本
架構
來源技術堆疊
Amazon RDS for Oracle 資料庫執行個體
目標技術堆疊
Amazon RDS for PostgreSQL 資料庫執行個體
來源和目標架構
下圖顯示 Amazon RDS for Oracle 資料庫執行個體遷移至 Amazon RDS for PostgreSQL 資料庫執行個體。
圖表顯示下列遷移工作流程:
開啟 Oracle SQL 開發人員並連線至來源和目標資料庫。
產生 diff 報告
,然後產生結構描述差異物件的SQL指令碼檔案。如需 diff 報告的詳細資訊,請參閱 Oracle 文件中的詳細 diff 報告 。 設定AWSSCT並執行 Python 程式碼。
SQL 指令碼檔案會從 Oracle 轉換為 Postgre SQL。
在目標 PostgreSQL 資料庫執行個體上執行SQL指令碼檔案。
自動化和擴展
您可以將單一程式中多個功能的其他參數和安全相關變更新增至 Python 指令碼,以自動化此遷移。
工具
AWS SCT – AWS Schema Conversion Tool (AWS SCT) 會將您現有的資料庫結構描述從一個資料庫引擎轉換為另一個資料庫引擎。
Oracle SQL開發人員
– Oracle SQL開發人員是一種整合的開發環境 (IDE),可簡化傳統和雲端部署中 Oracle 資料庫的開發和管理。
Code
incremental-migration-sct-sql.zip
檔案 (已連接) 包含此模式的完整原始碼。
史詩
任務 | 描述 | 所需的技能 |
---|---|---|
在 Oracle SQL開發人員中執行資料庫差異。 |
| DBA |
產生SQL指令碼檔案。 | 選擇產生指令碼以產生SQL檔案中的差異。 這會產生SQL指令碼檔案,AWSSCT用來將資料庫從 Oracle 轉換為 Postgre SQL。 | DBA |
任務 | 描述 | 所需的技能 |
---|---|---|
AWS SCT 使用 Windows 命令提示字元進行 設定。 |
4. 根據您的需求修改AWSSCT組態參數,然後將SQL指令碼檔案複製到 | DBA |
執行 Python 指令碼。 |
| DBA |
在 Amazon RDS for Postgre 中建立物件SQL | 在 Amazon RDS for PostgreSQL 資料庫執行個體中執行SQL檔案並建立物件。 | DBA |
相關資源
附件
若要存取與本文件相關聯的其他內容,請解壓縮下列檔案: attachment.zip