將資料遷移至 AlloyDB Omni

選取說明文件版本:

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

從 PostgreSQL 遷移至 AlloyDB Omni

AlloyDB Omni 以 PostgreSQL 為基礎,因此從 PostgreSQL 遷移至 AlloyDB Omni 的過程相當輕鬆。

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

  1. 確認 AlloyDB Omni 支援來源 PostgreSQL 資料庫使用的所有擴充功能。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」。

後續步驟