Oracle-10g

通過 MySQL 工作台從 Oracle 遷移到 MySQL:表列表為空

  • January 14, 2021

MySQL Workbench 提供了一個遷移工具,我用它來將 Oracle 數據庫遷移到 MySQL。

我正在使用遷移嚮導將完整的 Oracle 模式遷移到 MySQL。我將它用於遷移嚮導和通過odbc的****RDBMS源來連接oracle源。

第 1 步:配置和測試源

第 3 步:內省沒問題

自省步驟沒問題

第 4 步:表格列表為空

表列表為空

不幸的是,對象列表是空的,所以我無法進行下一步。

通過excel對odbc驅動進行簡短測試,確認odbc配置正確並顯示表格列表。

mysql工作台6.3

odbc驅動oracle 11.2

爪哇 1.8

Oracle 數據庫 10g

就像@bauerInHsv 所說的那樣,Oracle 的既得利益是為從其企業產品 (Oracle) 遷移到其開源 RDBMS (MySQL) 提供最低限度的支持。

作為 MySQL Workbench 的替代品,您可以使用etlalchemy

它是一個開源 Python 工具,可讓您使用 4 行 Python在任意2 個關係數據庫之間遷移。

安裝:

pip install etlalchemy
# On El Capitan:
#### pip install etlalchemy --ignore-installed

跑步:

from etlalchemy import ETLAlchemySource, ETLAlchemyTarget

oracle_db_source = ETLAlchemySource("oracle+cx_oracle://username:password@hostname/SID")

mysql_db_target = ETLAlchemyTarget("mysql://username:password@hostname/db_name",
                                      drop_database=True)
mysql_db_target.addSource(oracle_db_source)
mysql_db_target.migrate()

這將按以下順序處理遷移:

  1. 遷移架構
  2. 遷移數據
  3. 遷移索引
  4. 遷移約束

(PS我寫了這個工具,所以如果你發現有問題,請隨時聯繫。)

我認為甲骨文不盡可能默默地支持這一點符合既得利益。去看看手冊,你不會看到 Oracle 是一個選項。從手冊:

MySQL Workbench 遷移嚮導目前測試並支持以下 RDBMS 產品和版本,儘管其他 RDBMS 產品也可以使用第 10.2.3 節“從不受支持的(通用)數據庫遷移”進行遷移

微軟 SQL Server 2000、2005、2008、2012

Microsoft Access 2007 及更高版本

MySQL Server 4.1 及更高版本作為源,MySQL Server 5.1 及更高版本作為目標

PostgreSQL 8.0 及更高版本

SQL 無處不在

SQLite

Sybase Adaptive Server Enterprise 15.x 及更高版本

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