Informix

 View Only
  • 1.  -- Incompatible blade version to migrate a database from informix 12.10 FC15 to informix 14.10 FC9.

    Posted Fri February 17, 2023 09:38 AM
      |   view attached

    Hi everyone

    I am trying to migrate a database from informix 12.10 FC15 on "server A" to informix 14.10 FC9 on "server B".

    To extract the data, the command was used:

    dbexport -d dsolutiondbs dsolution

    And to import it I'm trying to use the command:

    dbimport -d dsolutiondbs dsolution

    But when it runs it gives me the following message:

    create function "informix".calendarpatternout (CalendarPattern)
    returns lvarchar with (not variant)
    external name "$INFORMIXDIR/extend/TimeSeries.6.00.FC9/TimeSeries.bld(ts_cal_pattern_output)" language c;
    -- Incompatible blade version (import TimeSeries.6.00.FC9; available TimeSeries.6.01.FC2)

    Could you help me solve this please?

    Thanks and regards



    ------------------------------
    Guillermo Giron Riveroll
    ------------------------------

    Attachment(s)

    out
    dbimport.out   25 KB 1 version


  • 2.  RE: -- Incompatible blade version to migrate a database from informix 12.10 FC15 to informix 14.10 FC9.

    IBM Champion
    Posted Fri February 17, 2023 11:16 AM
    According to the documentation:
    Note: dbimport cannot be used to move datablade data between Informix versions.

    The supported process would be (in my understanding) an inplace upgrade of the existing 12.10 instance to the 14.10
    version. (which would internally upgrade the datablade tables).

    In case you are moving data to a different server, try to install the 12.10 edition there and make a full restore, followed
    by an upgrade to 14.10.
    Check the online.log for any errors during upgrade. The datablade data should be updated.
    If you do a dbexport in the upgraded instance afterwards, the SQL file should contain references to the actual
    version of the datablade.

    Another approach would be to manually delete the datablade tables in the dbexport output (the .sql file) and restore without the
    additional stuff, and the recreate the datablade in the database after loaded in the 14.10 version.
    But the datablade typically will introduce column types etc. which are maybe used in your tables, so removing might not be so easy.
    You could do a step-by-step approach by loading the tables which refer to datablade tables separately.
    (remove these from the sql file and load the others first, then adding the datablade, then creating the special tables ....)
    But this is definately more complex than an inplace-upgrade, which should do the conversion for you.


    Hope this helps.

    MARCUS HAARMANN






  • 3.  RE: -- Incompatible blade version to migrate a database from informix 12.10 FC15 to informix 14.10 FC9.

    IBM Champion
    Posted Fri February 17, 2023 11:29 AM

    Guillermo:

    Using dbexport/dbimport with a datebase that has timeseries data elements defined is a problem. You will have to edit the schema file removing all of the references to timeseries tables (like the calendartable table) and functions from the schema file. Then you should be able to reload the database with dbimport.

    Art



    ------------------------------
    Art S. Kagel, President and Principal Consultant
    ASK Database Management Corp.
    www.askdbmgt.com
    ------------------------------



  • 4.  RE: -- Incompatible blade version to migrate a database from informix 12.10 FC15 to informix 14.10 FC9.

    IBM Champion
    Posted Fri February 17, 2023 04:12 PM

    The first question is do you use TimeSeries and need it migrated over?  The problem is because when TimeSeries tables are referenced, the TimeSeries datablade is registered automatically, and create a bunch of tables, procedures, etc in the database.  These appear in the SQL generated by the dbexport.

    If you don't actually use timeseries, you may just be able to unregister the timeseries blade and the dbexport everything again.  Or you can just run the dbexport then edit the SQL file to remove the TimeSeries objects, as the others suggested.  While annoying, it's not difficult as the objects are grouped together.

    BTW, are you sure you don't want to use the "-ss" option on dbexport?  I'm also not sure that the syntax of your dbexport command in your post was correct.



    ------------------------------
    Mike Walker
    xDB Systems, Inc
    www.xdbsystems.com
    ------------------------------



  • 5.  RE: -- Incompatible blade version to migrate a database from informix 12.10 FC15 to informix 14.10 FC9.

    Posted Tue February 21, 2023 02:05 PM

    It is problematic to use dbexport/dbimport on a datebase that has timeseries data elements specified. You will need to modify the schema file to remove all references to timeseries tables and functions (such as the calendartable table). The database should then be reloaded using dbimport at that point.



    ------------------------------
    ai blog writer
    ------------------------------



  • 6.  RE: -- Incompatible blade version to migrate a database from informix 12.10 FC15 to informix 14.10 FC9.

    Posted Thu February 23, 2023 05:46 AM

    Hi Guillermo,

    I have tried following to figure out what are the difference between TS datablade in IDS 12 vs. IDS 14:

    On IDS 12 run following:

    $ dbaccessdemo7 stores12
    $ dbschema -d stores12 > stores12.sql

    Copy stores12.sql file to IDS 14 host.
    On IDS 14 run following:

    $ dbaccessdemo7 stores14
    $ dbschema -d stores14 > stores14.sql
    $ diff stores12.sql stores14.sql
    $ cat stores12.sql | nawk '{sub(/TimeSeries\.6\.00\.FC9/,"TimeSeries.6.01.FC2",$0);sub(/spatial\.8\.22\.FC2/,"spatial.8.22.FC4",$0);printf("%s\n",$0)}' > stores12B.sql
    $ diff stores12B.sql stores14.sql
    
    

    So the difference in schema between TS 6.00.FC9 and 6.01.FC2 are only the version string,
    one new distinct type, one new function and one modified view.

    Schould be simple to modify the schema file before import in IDS 14.


    Cheers,
    Markus



    ------------------------------
    Markus Holzbauer
    ------------------------------