將資料遷移至 AlloyDB Omni

選取說明文件版本:

您可以將資料從 PostgreSQL 或 Oracle 遷移至 AlloyDB Omni。本頁面假設您熟悉 PostgreSQL 和 Oracle 公用程式的設定和使用方式。

從 PostgreSQL 遷移至 AlloyDB Omni

AlloyDB Omni 以 PostgreSQL 為基礎,因此可輕鬆從 PostgreSQL 遷移至 AlloyDB Omni。

如要將資料從 PostgreSQL 遷移至 AlloyDB Omni,請按照下列步驟操作:

  1. 確認來源 PostgreSQL 資料庫使用的擴充功能是否支援 AlloyDB Omni。AlloyDB Omni 內建部分擴充功能,但您必須手動安裝其他擴充功能。

    如要瞭解 AlloyDB Omni 隨附哪些擴充功能,請參閱「支援的資料庫擴充功能」。

  2. 如要遷移資料,請根據資料遷移複雜度和停機時間,使用下表中的工具。

    遷移類型 工具
    停機時間充足的基本遷移作業 使用 pg_dump 備份現有 PostgreSQL 資料庫。使用 pg_restore 將備份還原至新的 AlloyDB Omni 資料庫。
    複雜的遷移作業,有足夠的停機時間 使用 pgloader 將資料從來源資料庫串流至目的地資料庫。
    複雜的遷移作業,停機時間最短 使用 pglogical 將資料從來源資料庫複製到目的地資料庫。
  3. 從來源系統遷移任何內容之前,請先在目的地 AlloyDB Omni 系統上安裝擴充功能。

從 Oracle 遷移至 AlloyDB Omni

從 Oracle 遷移至 AlloyDB Omni 的資料通常需要將 Oracle PL/SQL 程式碼轉換為 PgSQL。PL/SQL 程式碼的數量和複雜度,通常會決定從 Oracle 遷移至 AlloyDB Omni 所需的工作量。使用的 Oracle 特定功能越多,就越可能需要手動轉換程式碼。

下表列出開放原始碼和商業工具,可協助您轉換程式碼。

用途 工具或文件 說明
說明 Oracle 和 AlloyDB Omni 的概念和程式碼/語法差異。 將 Oracle® 資料庫使用者和結構定義遷移至 AlloyDB Omni --
您有足夠的停機時間,可移動 Oracle 中的資料量,並將所有 Oracle 常駐應用程式邏輯轉換為 PostgreSQL。 使用 Ora2Pg 轉換結構定義、移動資料及轉換程式碼。 Ora2Pg 是一項開放原始碼工具,可協助您從 Oracle 轉換至以 PostgreSQL 為基礎的資料庫。
遷移作業的停機時間最短。 如要遷移程式碼和結構定義,請使用下列選項:
  • 開放原始碼選項
    使用 Ora2Pg 轉換結構定義、遷移資料及轉換程式碼
  • 第三方商業選項
    適用於結構定義和程式碼轉換的 Ispirer
如要遷移資料,請先執行初始載入作業,然後使用變更資料擷取和增量套用功能,持續同步資料,直到切換完成為止。
  • 開放原始碼選項
    如果停機時間夠長,可一次遷移所有資料,請使用 Ora2Pg 一次移動資料。這個選項不會提供變更資料擷取或增量套用功能。
  • 商業選項
    Ispirer 可以執行初始資料移動作業,然後以批次模式套用增量。

    Striim 可以執行初始資料移動作業,然後持續擷取變更資料並套用增量,盡量縮短停機時間。為支援備援,這個選項會從 AlloyDB Omni 複製資料,然後還原至 Oracle。
  • Striim 是一項商業產品,可協助您在資料庫平台之間遷移資料。這項服務會執行初始資料移動作業和持續複製作業,並在遷移期間提供資料轉換功能。詳情請參閱「Striim」。
您需要將各種來源的資料載入以 PostgreSQL 為基礎的資料庫。 使用 pgloader。 pgloader 是開放原始碼工具,可將各種來源的資料載入以 PostgreSQL 為基礎的資料庫。
詳情請參閱 pgloader 說明文件
您需要模擬 Oracle 套件和函式。 使用 Orafce 擴充功能。 詳情請參閱「orafce」專案

AlloyDB Omni 不含這項擴充功能,因此必須手動安裝。詳情請參閱「為 AlloyDB Omni 安裝 Orafce」一文。
您想將 Oracle 資料庫連結遷移至 AlloyDB Omni。 使用 oracle_fdw 擴充功能。這個擴充功能可讓您從 AlloyDB Omni 連線至 Oracle 資料庫,並將 Oracle DBLink 遷移至 AlloyDB Omni。 AlloyDB Omni 不含這項擴充功能,因此必須手動安裝。
詳情請參閱 GitHub - laurenz/oracle_fdw: PostgreSQL Foreign Data Wrapper for Oracle

後續步驟