Mysql – Migrating from Oracle to MySQL via MySQL workbench: Table list is empty

migrationmysql-workbenchoracle-10g

MySQL workbench offers a migration tool that I'm using to migrate an Oracle database to MySQL.

I'm using the migration wizard to migrate the complete Oracle schema to MySQL. I used that for the migration wizard and a RDBMS source thru odbc to connect the oracle source.

Step 1 : Source is configured and tested

Step 3 : Introspection is OK

Introspection step is ok

Step 4 : Table list is empty

Table list is empty

Unfortunately, the object list is empty, so I can't get the next step.

A short test of the odbc driver through excel confirmed that the odbc is correctly configured and displays the table list.

mysql workbench 6.3

odbc driver oracle 11.2

java 1.8

Oracle database 10g

Best Answer

Like @bauerInHsv said, Oracle has a vested interest in providing minimal support for migrating off of its enterprise offering (Oracle) and onto its open-source RDBMS (MySQL).

As an alternative to MySQL Workbench, you could use etlalchemy.

It is an open-source Python tool, that lets you migrate between any 2 relational database with 4 lines of Python.

To install:

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

To run:

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()

This will handle the migration in the following order:

  1. Migrating the Schema
  2. Migrating the Data
  3. Migrating the Indexes
  4. Migration the Constraints

(P.S. I wrote this tool, so feel free to reach out if you find something broken.)