將 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.*
  • 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 目的地執行個體。

    如果您決定在遷移工作流程之外執行完整的傾印作業,請務必記錄資料庫遷移服務應開始 CDC 複製作業的系統變更編號 (SCN)。

  3. 建立並執行遷移工作

    在遷移期間,目的地 Cloud SQL 資料庫可供寫入,以便在需要時套用 DML 變更。請注意,請勿變更資料庫設定或表格結構,否則可能會導致遷移程序中斷或影響資料完整性。

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

步驟 5:完成遷移

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

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

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

後續步驟

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