使用 AWS DMS 將 Oracle 資料庫遷移到 PostgreSQL 資料庫的目標 RDS時,應使用哪些最佳實務?

2 分的閱讀內容
0

我想將資料從 Oracle 來源資料庫遷移到適用於 PostgreSQL 的 Amazon Relation Database Service (Amazon RDS) 目標資料庫。使用 AWS Database Migration Services (AWS DMS) 將資料從 Oracle 遷移到 PostgreSQL 時,可以遵循哪些最佳實務?

解決方案

從 Oracle 遷移到 PostgreSQL 資料庫的最佳實務

  • 在開始遷移資料之前,請先使用必要先決條件設定 Oracle 來源資料庫。
  • 在任何其他 QA/DEV 資料庫環境上使用相同的生產數據來測試遷移。然後,您可以根據結果繼續進行生產遷移。進行測試和生產遷移時,請務必使用相同的 AWS DMS 組態。
  • 使用足夠的 CPU、記憶體、儲存器和 IOPS 佈建 AWS DMS 執行個體,以避免在遷移期間發生資源爭用。如需詳細資訊,請參閱為您的遷移選擇正確的 AWS DMS 複寫執行個體為複寫執行個體選擇最佳大小。如需升級執行個體相關成本的詳細資訊,請參閱 AWS 資料庫遷移服務定價。以相同的考量佈建目標 Amazon RDS 執行個體。
  • 如果來源資料庫包含許多資料表且工作負載繁重,請將資料表分割為多個 AWS DMS 任務。根據來源大小、應用程式流量模式和 LOB 資料欄的存在來分割資料表。如果資料表在來源上有很多 LOB 資料欄,且具有高寫入流量,請為資料表建立單獨任務。
  • 使用平行完全載入來縮短繁重工作負載的遷移時間。如需詳細資訊,請參閱針對選取的資料表、檢視表和集合使用平行載入
  • 在遷移期間,請關閉目標資料庫上的備份和資料庫特定日誌 (如二進位、一般、稽核及 PG 查詢日誌)。重新開啟以排解任何問題。
  • 在遷移期間,關閉目標資料庫上的觸發器、程序、其他 Cron 工作和事件排程器。
  • 執行遷移時,請避免在目標 RDS 資料庫上使用多可用區概念。
  • 執行遷移時,請避免將任何其他外部用戶端流量套用至目標。
  • 在開始複寫的變更資料擷取 (CDC) 階段前,先在目標資料庫上新增任何次要索引。
  • 遷移前,請先關閉目標資料庫上的外部索引鍵。使用目標額外連線屬性 (ECA)/端點設定來執行此作業。如需詳細資訊,請參閱使用 PostgreSQL 資料庫做為 AWS Database Migration Service 的目標
afterConnectScript=SET session_replication_role='replica'
  • 使用最佳化 LOB 設定 (例如限制或內嵌 LOB) 來進行遷移。

  • 使用批次套用 CDC 方法前,請先使用預設事務型 CDC 套用測試工作負載。如需詳細資訊,請參閱如何使用 DMS 批次套用功能來提高 CDC 複寫效能?

  • 增加目標端點設定中的 executeTimeout 值。這個值會設定 PostgreSQL 執行個體的用戶端陳述式逾時。預設值為 60 秒。

  • 如果您使用 ID 欄的序列,請將目標上的值設定為高於來源上的值。請確定目標值在遷移切換日期仍高於來源值。這種方法可以避免遷移後發生序列 ID 衝突。

  • 若要增強完全載入階段的效能,請使用如下設定:

  • MaxFullLoadSubTasks - 預設值為 8,最大值為 49。此設定十分實用,但請確定您有足夠的可用資源。
  • CommitRate - 使用此設定表示可以一起傳輸的最大記錄數。
  • 對於全負載階段中的完整 LOB 模式 - 來源的 N 個資料列 = N 個插入 + 目標中的 N 個更新 = N 個事件,其中 CommitRate = N。
  • 對於全負載階段中的受限 LOB 模式 - 將 N 個資料列寫入 CSV 檔案,其中 CommitRate = N)。
  • 如果是大型資料表,請增加 CSV 檔案的大小。這是由目標端點設定中的 maxFileSize 控制。

將 Oracle 資料庫遷移到 PostgreSQL 資料庫

注意:繼續執行這些步驟之前,請按照先決條件中的說明準備您的來源 Oracle 資料庫。

1.    在本地電腦上安裝 SQL 驅動程式和 AWS Schema Conversion Tool (AWS SCT)

2.    設定您的 Oracle 來源和 PostgreSQL 目標資料庫。

3.    使用 AWS SCT 將 Oracle 架構轉換成 PostgreSQL。

4.    建立 AWS DMS 複寫執行個體。

5.    建立您的 AWS DMS 來源和目標端點。

6.    建立並執行您的 AWS DMS 任務。

7.    在資料表映射下,套用轉換規則。新增規則動作參數,其值為轉換小寫。Oracle 引擎在預設情況下會以大寫形式儲存所有物件名稱,但 PostgreSQL 會以小寫形式儲存所有物件名稱。

8.    建立完整負載和 CDC AWS DMS 任務以複寫您的資料。使用 StopTaskCachedChangesNotApplied,在完整負載階段完成時停止任務。現在,建立次要索引。

9.    切換至 PostgreSQL。


相關資訊

將 Oracle 資料庫遷移至 PostgreSQL

如何將 Oracle 資料庫遷移至 PostgreSQL

AWS 官方
AWS 官方已更新 2 年前