Topic
  • 3 replies
  • Latest Post - ‏2012-05-11T02:10:41Z by ChuanKaiChen
ChuanKaiChen
ChuanKaiChen
10 Posts

Pinned topic Incorrect table DDL generated from Oracle 11g R2

‏2012-04-23T06:11:05Z |
Some error in table ddl generated from Oracle 11g R2, like this:

CREATE TABLE SAMPLE_TABLE
(
COL_01 VARCHAR2(16)(16)(16)(16) NOT NULL ,
COL_02 NUMBER(24)(24)(24)(24) NOT NULL
)
PARTITION BY RANGE ... ...

You can see that the length of the columns has multipled.

And for some other tables, they may looks like this:
CREATE TABLE SAMPLE_TABLE
(
COL_01 VARCHAR2 NOT NULL ,
COL_02 NUMBER NOT NULL
)
PARTITION BY RANGE ... ...

The length of the columns have missed.

Can any body help on this?
Thanks.
Updated on 2012-05-11T02:10:41Z at 2012-05-11T02:10:41Z by ChuanKaiChen
  • SystemAdmin
    SystemAdmin
    708 Posts

    Re: Incorrect table DDL generated from Oracle 11g R2

    ‏2012-04-24T17:12:10Z  
    Problem is that we dont have source code.

    Regards.
  • SystemAdmin
    SystemAdmin
    708 Posts

    Re: Incorrect table DDL generated from Oracle 11g R2

    ‏2012-04-24T17:22:11Z  
    Problem is that we dont have source code.

    Regards.
    Sorry. This is a bug that needs to be fixed. I will ask someone to fix this.

    Thanks
  • ChuanKaiChen
    ChuanKaiChen
    10 Posts

    Re: Incorrect table DDL generated from Oracle 11g R2

    ‏2012-05-11T02:10:41Z  
    There is a workaround for this bug:

    In file oradb.tables:

    1. Comments begin with the # sign at the beginning of the line at col 1.
    2. This file is an input to the unload command. The format of this file is:
    3. <TargetSchemaName>.<TargetTableName>:<Query to run on the source server>
    4. "DMT"."EMP":SELECT * FROM "DMPTEST"."EMP"
    5. The DMPTEST.EMP table will migrate to DMT.EMP table
    6. Edit this file manually to change the target schema name.
    7. or, You can edit dstSchemaName field in /data/db2home/db2inst2/IBMDataMovementTool/oracle11r1/IDMTConfig.properties file to map source schema
    8. to destination schema name and run geninput command again to generate this file.

    "CHCK"."ORA_TABLE_01":SELECT * FROM "CHCK"."ORA_TABLE_01" PARTITION(P_99)
    "CHCK"."ORA_TABLE_01":SELECT * FROM "CHCK"."ORA_TABLE_01" PARTITION(P_00)

    Change above 2 rows to the following:

    "CHCK"."ORA_TABLE_01":SELECT * FROM "CHCK"."ORA_TABLE_01"

    Then IDMT will work fine.