Mysql

如何將 Oracle 數據庫遷移到 MySQL 伺服器?

  • August 2, 2021

目前,我們的應用程序使用 Oracle 11g 數據庫執行。我們正在開發在 MySQL 集群上執行的更新版本的應用程序。我們需要將數據從 Oracle 數據庫遷移到 MySQL 數據庫。這不是數據庫對象的直接副本。在較新版本的應用程序模式(表結構和關係)中發生了變化。並且還需要複製審計表。有沒有辦法從舊的 Oracle 模式和新的 MySQL 模式映射表、列並應用副本以便複製數據?

我們正在考慮分兩步進行這項活動。

  1. 將 Oracle 數據庫轉換為 MySQL 數據庫。
  2. 編寫儲存過程以逐表複製。

在執行從一個 RDBMS 供應商到另一個供應商的這種數據庫遷移時,是否有任何最佳實踐?是否有任何可用的開源或商業工具?

我建議分兩步進行此遷移。

  1. 使用 MySQL Workbench 將大部分 db 對象和數據遷移到 MySQL(此過程也會復製表數據)。有關詳細資訊,請參閱使用 MySQL Workbench 遷移嚮導。這將使您對特定對象(如儲存過程)進行手動操作。沒有工具可以進行自動遷移,因為 Oracle 和 MySQL 之間的儲存常式存在很大差異。
  2. 使用 MySQL Workbench 將遷移的數據庫反向工程為模型。
  3. 使用此模型將對象調整為您的新模式結構。
  4. 將模型同步到您的伺服器以應用更改。根據您所做的更改,這可能是非破壞性的,但當然,備份總是一個好主意。

您可以根據需要多次重複步驟 3 和 4,以逐步調整架構。同步還將接管其他人在模式中所做的任何更改(雙向同步)。

MySQL Workbench 不支持從 Oracle 遷移到 MySQL。我上面的所有建議都只是,可以嘗試使其至少部分工作的想法。然而,這些都沒有經過測試,因為正如我所說,不支持 Oracle 到 MySQL 的遷移。

我最近使用一個名為DBConvert的程序將 Oracle DB 轉換為 MySQL 有一個免費版本,可以將水印插入到大表中,但可以修復。;) 它並不完美,轉換後可能需要一些修修補補。

引用自:https://dba.stackexchange.com/questions/54413