2

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

2

I think Oracle has a vested interest in not supporting this as silently as possible. Go look at the manual and you won't see Oracle as an option. From the manual:

The following RDBMS products and versions are currently tested and supported by the MySQL Workbench Migration Wizard, although other RDBMS products can also be migrated with Section 10.2.3, “Migrating from unsupported (generic) databases”

Microsoft SQL Server 2000, 2005, 2008, 2012

Microsoft Access 2007 and greater

MySQL Server 4.1 and greater as the source, and MySQL Server 5.1 and greater as the target

PostgreSQL 8.0 and greater

SQL Anywhere

SQLite

Sybase Adaptive Server Enterprise 15.x and greater

  • Yes, that's what i thought. I bought a licence on another product and it worked fine. – error500 Dec 12 '15 at 5:25
2

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.