將 Oracle 資料庫遷移至 PostgreSQL 適用的 Cloud SQL

本頁面說明如何使用資料庫移轉服務,將 Oracle 資料庫轉換為 PostgreSQL 語法,並將資料遷移至 PostgreSQL 適用的 Cloud SQL。

遷移程序包含下列工作:

  1. 設定來源資料庫的遷移連線,並準備要轉換為 PostgreSQL 的資料。

  2. 建立 PostgreSQL 適用的 Cloud SQL 目的地執行個體。

  3. 使用資料庫移轉服務轉換工作區,將 Oracle 結構定義和其他物件轉換為 PostgreSQL 語法。

  4. 在資料庫移轉服務建立及執行移轉工作。

  5. 使用資料庫移轉服務的可觀測性功能,監控遷移工作進度。

  6. 在資料完整移轉後推送移轉工作。

費用

本文使用下列Google Cloud計費元件:

如要根據預測用量估算費用,請使用 Pricing Calculator

事前準備

  1. 確認這個遷移路徑是否完全支援您的情境。 請參閱下列頁面:
    • 支援的來源和目的地:「情境總覽」頁面會列出所有支援的來源和目的地版本。
    • 已知限制說明支援的資料類型、資料庫大小和其他限制。
    • 網路總覽說明可用的網路連線解決方案。

      如要遷移資料,資料庫移轉服務必須與來源和目的地執行個體建立網路連線。視您的架構而定,您可能需要進行額外準備,以利網路連線。

  2. 請考慮要在哪個區域建立目的地資料庫。 資料庫移轉服務是完全區域性的產品,也就是說,與遷移作業相關的所有實體 (來源和目的地連線設定檔、遷移工作、目的地資料庫、轉換工作區) 都必須儲存在單一區域。
  3. 在 Google Cloud 控制台的專案選擇器頁面中,選取或 Google Cloud 建立專案

    前往專案選取器

  4. 啟用資料庫移轉服務、Compute Engine、Cloud Storage 和 Cloud SQL Admin API。

    啟用 API

必要的角色

如要取得使用 Database Migration Service 執行異質 Oracle 遷移作業所需的權限,請要求管理員授予您專案的必要 IAM 角色:

如要進一步瞭解如何授予角色,請參閱 Identity and Access Management 說明文件中的「 管理存取權」。

這些預先定義的角色具備使用資料庫移轉服務執行異質 Oracle 遷移作業所需的權限。如要查看確切的必要權限,請展開「必要權限」部分:

所需權限

如要使用資料庫移轉服務執行異質 Oracle 遷移作業,必須具備下列權限:

  • datamigration.*
  • cloudaicompanion.entitlements.get

    此權限包含在 roles/datamigration.admin 角色中。這是 Gemini 強化轉換功能的必要條件。

  • cloudsql.instances.create
  • cloudsql.instances.get
  • cloudsql.instances.list
  • cloudsql.instances.update
  • cloudsql.instances.delete
  • cloudsql.operations.get
  • cloudsql.users.list
  • cloudsql.users.get
  • cloudsql.users.create
  • cloudsql.users.update
  • cloudsql.users.delete

您或許還可透過 自訂角色或其他 預先定義的角色取得這些權限。

步驟 1:準備來源資料庫

如要準備要移轉的來源資料,請按照下列步驟操作:

  1. 設定來源資料庫連線。請按照下列步驟操作:
    1. 選用:考慮是否要使用 SSL/TLS 憑證保護來源網路連線。詳情請參閱「 使用 TLS 保護網路連線」。

      Oracle 12 以上版本支援 SSL/TLS 加密。 資料庫遷移服務僅支援 TLS 加密方法。視 SSL/TLS 設定而定,您可能需要在來源資料庫中執行其他設定步驟。

    2. 選擇及設定來源網路連線方法
  2. 設定來源資料庫執行個體

    在這個步驟中,您將建立專用的遷移資料庫使用者帳戶,並啟用必要的複製功能。

  3. 選用: 最佳化記錄檔設定

    存取封存的記錄檔會導致遷移程序出現延遲。您可以調整特定記錄檔設定,控制延遲影響。

  4. 建立來源連線設定檔

    連線設定檔包含資料庫遷移服務建立來源資料庫連線所需的資訊。連線詳細資料會因您使用的 來源網路連線方法而異。

步驟 2:準備 PostgreSQL 適用的 Cloud SQL 目的地執行個體

如要設定目的地 Cloud SQL 執行個體,請完成下列步驟:

  1. 選擇及設定目的地網路連線方式
  2. 建立及設定 PostgreSQL 適用的 Cloud SQL 目的地執行個體

    請確認您使用的運算和記憶體資源足以滿足遷移需求。詳情請參閱 遷移建議

  3. 建立目的地連線設定檔

    連線設定檔包含資料庫遷移服務建立與目標資料庫連線所需的資訊。連線詳細資料會因您使用的 目的地網路連線方法而異。

步驟 3:將 Oracle 物件轉換為 PostgreSQL 語法

資料庫通常有數千個物件。在單一工作階段中轉換所有檔案可能很困難。透過轉換工作區,您可以將轉換程序劃分為多個階段,在轉換中新增物件、修正問題,然後在目的地資料庫中測試。

如要轉換來源資料庫中的物件,請按照下列步驟操作:

  1. 建立轉換工作區並執行初始轉換
  2. 修正轉換問題,並將結構定義套用至目的地資料庫

步驟 4:建立及執行遷移工作

如要設定及執行遷移作業,請按照下列步驟操作:

  1. 選用:如要管理遷移工作的憑證,請 準備必要的加密金鑰
  2. 選用:如要自行執行完整傾印階段,可以從 Oracle 來源資料庫匯出所有資料,並在資料庫移轉服務外部,將資料載入 PostgreSQL 適用的 Cloud SQL 目的地執行個體。

    如果您決定在遷移工作流程外執行完整傾印,請務必記錄系統變更編號 (SCN),Database Migration Service 應從該編號開始 CDC 複製。

  3. 建立並執行遷移工作

    遷移期間,目的地 Cloud SQL 資料庫可供寫入,因此如有需要,可以套用 DML 變更。請謹慎操作,不要對資料庫設定或表格結構進行任何變更,否則可能會導致遷移程序中斷或影響資料完整性。

    您可以使用資料庫移轉服務的可觀測性功能,監控遷移進度和目標執行個體的健康狀態。請參閱 遷移工作指標

步驟 5:完成遷移作業

決定將應用程式切換至新的 PostgreSQL 適用的 Cloud SQL 執行個體後,請按照下列步驟完成遷移作業:

  1. 停止對來源資料庫的所有寫入作業。您可以將這些檔案切換為唯讀模式,保留運作功能。
  2. 選用步驟: 確認遷移資料是否完整。
  3. 升級遷移工作

您現在可以清除所有資料庫遷移服務實體,例如連線設定檔、遷移工作和轉換工作區。您也可以選擇保留這些實體,並在其他遷移作業中重複使用。

後續步驟

進一步瞭解 Google Cloud PostgreSQL 適用的 Cloud SQL 功能。請參閱「 PostgreSQL 適用的 Cloud SQL 功能」。