Ora2Pg v22.0 及 22.1 版本已發布

由 Gilles Darold 發表於 2021-07-05
相關開源專案

法國格勒諾勃 - 2021 年 7 月 2 日

Ora2Pg

Ora2Pg 22.0 版本已正式發布,這是一個免費且可靠的工具,用於將 Oracle 資料庫遷移到 PostgreSQL,現在可公開下載。

此版本修正了過去三個月報告的幾個問題,並新增了一些新功能和改進。22.1 版本是一個維護版本,旨在擴展通過 oracle_fdw PostgreSQL 擴展匯出資料的功能,以支援使用公共 schema 且不保留大小寫的遷移。

  • 新增了在使用 FDW_SERVER 設定且匯出類型為 COPY 或 INSERT 時,使用 oracle_fdw 匯出資料的功能。完全支援使用 -P-J 的多進程,但在這種情況下,選項 -j 無效。同時也支援某些欄位或資料類型的布林轉換。實際上,預期它的工作方式與沒有 oracle_fdw 的資料遷移完全相同。這可以將資料遷移速度提高 30% 到 40%,尤其是在 BLOB 匯出的情況下。感謝 MigOps Inc 提供的補丁。

  • 通過避免 Oracle 目錄表之間的連接,提高了大量物件的匯出效能。感謝 MigOps Inc 提供的補丁。

  • 根據物件數量,設定表、索引、序列、分區、全域暫存表和同義詞的評估分數上限。感謝 MigOps Inc 提供的補丁。

  • 將 XML 函數的檢測新增到評估成本中。感謝 MigOps Inc 提供的補丁。

  • 允許在使用選項 --init_project--cost_unit_value 執行 ora2pg 時,在 export_all.sh 腳本中變更評估成本單位值。

  • 從 P/PSQL 代碼中移除 pragma restrict_references,它沒有用處。

  • oracle schema 新增到生成的 SQL 檔案中的 search_path,並在啟用 USE_ORAFCE 時改進遷移評估成本。感謝 MigOps Inc 提供的補丁。

  • 在套件提取層級應用 ALLOWEXCLUDED 篩選的預存程序。在此補丁之前,沒有辦法不匯出某些套件函數或將它們從評估中排除。感謝 MigOps Inc 提供的補丁。

  • 新增了新的測試,用於檢查序列的最後一個值以及兩側的識別欄數量。感謝 MigOps Inc 提供的補丁。

  • 預設情況下,將沒有物件類型指定的 ALLOWEXCLUDED 篩選器應用於 TEST 動作中的表物件。

新的配置指令

  • 新增了 ORACLE_FDW_TRANSFORM 配置指令,用於在匯出資料時對欄位應用轉換。值必須是以分號分隔的 TABLE[COLUMN_NAME, <replace code in SELECT target list>] 清單。例如,要將 varchar2 欄位中的字串 'Oracle' 替換為 'PostgreSQL',請使用 ERROR_LOG[DBMS_TYPE:regexp_replace("DBMS_TYPE",'Oracle','PostgreSQL')]

  • 新增了 DROP_IF_EXISTS 配置指令,用於在建立物件之前新增 "DROP ... IF EXISTS" 語句。在迭代工作中可能很有用。預設情況下已停用。

向後相容性

舊的配置檔案存在向後相容性問題,其中預設設定了 FDW_SERVER。匯出資料時未使用此指令,但現在情況並非如此,因為它指示 Ora2Pg 使用給定的外部伺服器來使用 oracle_fdw 遷移資料。

有關變更的完整清單,請參閱 https://github.com/darold/ora2pg/blob/master/changelog

感謝所有貢獻者,他們都在變更日誌檔案中被提及。

連結 & 鳴謝

我要感謝所有提交補丁的使用者以及報告錯誤和功能請求的使用者,他們都在 ChangeLog 檔案中被提及。

Ora2Pg 是一個開放專案。 歡迎任何貢獻來構建更好的工具。 您只需使用 GitHub 工具或直接發送您的想法、功能請求或補丁到 ora2pg@darold.net。

連結


關於 Ora2Pg

Ora2Pg 是一個簡單且可靠的工具,用於從 Oracle 遷移到 PostgreSQL。 它自 2001 年以來一直在開發,可以將大多數 Oracle 物件匯出到 PostgreSQL 相容的程式碼中。

Ora2Pg 可在任何平台上運作,並根據 GPL v3 授權提供。

文件、下載 & 支援請造訪 http://www.ora2pg.com/