Bug #34440 Reverse engineering error
Submitted: 9 Feb 2008 0:35 Modified: 14 Mar 2008 5:30
Reporter: Juan Esteban Díaz Belich Email Updates:
Status: No Feedback Impact on me:
None 
Category:MySQL Migration Toolkit Severity:S1 (Critical)
Version:1.1.12 OS:Windows (Reverse engineering error)
Assigned to: CPU Architecture:Any
Tags: reverse engineering error

[9 Feb 2008 0:35] Juan Esteban Díaz Belich
Description:
I am trying to migrate several schemas from Oracle 9i (Solaris 9) to MySQL 5.0.33 (running under solaris 10). I am executing Migration Toolkit v1.1.12 under Windows XP. I got the same error while trying to migrate to MySQL 5.1 (Windows XP)

I got the following error.

Initializing JDBC driver ... 
Driver class Oracle Thin JDBC Driver using SID
Opening connection ... 
Connection jdbc:oracle:thin:user/pass@10.2.40.133:1521:DB
Initializing JDBC driver ... 
Driver class Oracle Thin JDBC Driver using SID
Opening connection ... 
Connection jdbc:oracle:thin:user/pass@10.2.40.133:1521:DB
Getting version information ... 
Initializing JDBC driver ... 
Driver class Oracle Thin JDBC Driver using SID
Build simple Oracle datatypes.
Call Oracle stored procedure ANALYZE_SCHEMA for DB.
CALL DBMS_UTILITY.ANALYZE_SCHEMA(?,  'ESTIMATE', 50, 0, 'FOR TABLE')
The schema could not be reverse engineered (error: 0).
ReverseEngineeringOracle.reverseEngineer :Violación de protocolo
Details: 
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:125)
oracle.jdbc.driver.DatabaseError.throwSqlException(DatabaseError.java:162)
oracle.jdbc.driver.DatabaseError.check_error(DatabaseError.java:885)
oracle.jdbc.driver.T4C8Oall.receive(T4C8Oall.java:640)
oracle.jdbc.driver.T4CPreparedStatement.doOall8(T4CPreparedStatement.java:181)
oracle.jdbc.driver.T4CPreparedStatement.execute_for_rows(T4CPreparedStatement.java:543)
oracle.jdbc.driver.OracleStatement.doExecuteWithTimeout(OracleStatement.java:1028)
oracle.jdbc.driver.OraclePreparedStatement.executeInternal(OraclePreparedStatement.java:2888)
oracle.jdbc.driver.OraclePreparedStatement.execute(OraclePreparedStatement.java:2979)
com.mysql.grt.modules.ReverseEngineeringOracle.reverseEngineer(ReverseEngineeringOracle.java:121)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
com.mysql.grt.Grt.callModuleFunction(Unknown Source)

Can anybody help me?

Best regards,
Juan Esteban
Mexico, DF

How to repeat:
Install Oracle 9i under Solaris 9
Install MySQL 5.0.33 under Solaris 10
Install Migration Toolkit under Windows XP SP2.

Try to migrate Oracle 9i schemas to MySQL and you will get the error.
[9 Feb 2008 19:47] Valeriy Kravchuk
Thank you for a problem report. What exact version of Oracle's JDBC driver do you use?
[10 Feb 2008 16:56] Juan Esteban Díaz Belich
ojdbc14.jar

Best regards,
Juan Esteban Belich
Mexico DF
[10 Feb 2008 18:20] Valeriy Kravchuk
Many of them are called "ojdbc14.jar". Is it from Oracle 9i? What exact size does the file have, in bytes?
[10 Feb 2008 18:57] Juan Esteban Díaz Belich
1.29 MB (1,352,918 bytes)
[10 Feb 2008 19:10] Valeriy Kravchuk
Please, try to use JDBC driver from Oracle 10g (even from free XE edition). It works for me.
[11 Feb 2008 19:09] Juan Esteban Díaz Belich
I am using Oracle 10g jdbc. So, what do you think the problem could be?
[12 Feb 2008 4:20] Valeriy Kravchuk
Please, run:

CALL DBMS_UTILITY.ANALYZE_SCHEMA('DB',  'ESTIMATE', 50, 0, 'FOR TABLE');

in Oracle's SQL*Plus and inform about the results. Looks like this procedure returns some error in your Oracle database.
[12 Feb 2008 19:59] Juan Esteban Díaz Belich
User DB does not exist.
[14 Feb 2008 5:30] Valeriy Kravchuk
What Oracle users/schemas you tried to migrate then?
[15 Mar 2008 0:00] Bugs System
No feedback was provided for this bug for over a month, so it is
being suspended automatically. If you are able to provide the
information that was originally requested, please do so and change
the status of the bug back to "Open".