Informix

Informix

Connect with Db2, Informix, Netezza, open source, and other data experts to gain value from your data, share insights, and solve problems.

 View Only
  • 1.  Simple way to run Informix 14 and 15 in parallel

    Posted Tue December 17, 2024 05:51 AM

    Hello,

    For development I have both IDS 14.10 and Informix 15 installed on my Linux Debian 12.

    So far, I have to switch between both versions to do tests.

    I know it's possible to have more than one instance running on the same computer.

    I would appreciate if someone points me to the onconfig settings to be changed, so I can run both servers in parallel.

    Is it sufficient to use different SHMBASE values? How?

    I am already using different TCP ports, SERVERNUM and DBSERVERNAME.

    Seb



    ------------------------------
    Sebastien FLAESCH
    ------------------------------


  • 2.  RE: Simple way to run Informix 14 and 15 in parallel

    Posted Tue December 17, 2024 06:18 AM

    Sebastien:

    All you need is different SERVERNUM, DBSERVERNAME, DBSERVERALIASES in the ONCONFIG and different ports and/or IP addresses in the SQLHOSTS file.

    You can even have both listed in the same SQLHOSTS file so you just have to change INFORMIXSERVER. 

    The only other thing is if compiled with CSDK 4.xx it needs LD_LIBRARY_PATH pointing at those libraries and if CSDK 15 at those libraries unless it was linked STATIC.

    Art



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



  • 3.  RE: Simple way to run Informix 14 and 15 in parallel

    Posted Tue December 17, 2024 06:20 AM

    Sebastian,

    no need to change SHMBASE, in fact there's a warning in onconfig.std not to change it.

    In addition to the changes you mentioned you should also change in new instance onconfig:

    ROOTPATH
    MSGPATH
    CONSOLE
    DBSERVERALIASES # if used

    In case you're using onbar/PSM you may also want to have a look at:
    BAR_ACT_LOG
    BAR_DEBUG_LOG
    BAR_IXBAR_PATH
    PSM_CATALOG_PATH
    PSM_ACT_LOG
    PSM_DEBUG_LOG

    Update sqlhosts accordingly in case you share them between instances or specify a separate one in INFORMIXSQLHOSTS env. var.

    Update /etc/services in case you're using service names instead of port numbers.

    Regards



    ------------------------------
    Davorin Kremenjas
    ------------------------------



  • 4.  RE: Simple way to run Informix 14 and 15 in parallel

    Posted Tue December 17, 2024 10:14 AM

    Hi Sebastien,

    You can have more than one instance on your server; whether you have instances using version 11, 12, 14 or 15.

    Just make sure that SERVERNUM is unique and of course DBSERVERNAME or DBSERVERALIASES also uniques on a single server (machine physical or virtual) .The SERVERNUM has to be unique because otherwise you will try to allocate the same shared memory segment and the system will not allow you even to do that even if you are on the same Informix version.

    Each segment id is calculated  on the the following base key value:  0x52564801

    To obtain the key value for shared memory, you need to multiply the value for the SERVERNUM by 0x10000 and then add it to the base key value as follows:

            0x52564801 + (SERVERNUM * 0x10000) = 0x52584801

    For example, if the SERVERNUM=2, your shared memory segment will the following key: 0x52564801 + (2 * 0x10000) = 0x52584801. The second segment in the instance will have the value 0x52584802 and so on; the last byte is FF (255). If SERVERNUM=6, the the base key value is 0x525c4801.

    Since the shared memory key has to be unique, each instance has to have a unique SERVERNUM. That is why the most important parameter between instance is SERVERNUM

    ipcs at the unix level will show you the shared memory segments used. If a shared memory is there and the instance is down for some reason, you have to remove the shared memry segment prior relaunching the engine (instance) via oninit. Otherwise the engine will not start again. You can also just change the SERVERNUM to another unique number between 1 and 255 (in this case you will be wasting shared memory for nothing).

    Note: the first 3 bytes of the base key value are 0x515648 or RVH in hex (the initials of Roy V Harrington the first architect of the Informix engine named Informix Turbo in 1987)

    Hope that this helps.


    --  Cordialement, Regards,    Khaled Bentebal Directeur Général - ConsultiX Tél: 33 (0) 1 39 12 18 00 Mobile: 33 (0) 6 07 78 41 97 Email: khaled.bentebal@consult-ix.fr Site Web:  www.consult-ix.fr





  • 5.  RE: Simple way to run Informix 14 and 15 in parallel

    Posted 29 days ago

    Hello!

    I have another question related to this thread:

    For testing purpose, we have set up a Windows Server 2025 machine, with Informix 15 installed.

    We realized that we also need to test Informix IDS 14.

    I know that both instances can run in parallel on this OS, but is it safe to install Informix IDS 14 after Informix 15?

    I guess that Informix installers check for existing installations, and maybe in this case the IDS 14 installer may not detect the V15 installation?

    Should we de-install Informix 15, then install 14 and then re-install 15?

    It's just a testing platform, we not in production.

    Seb



    ------------------------------
    Sebastien FLAESCH
    ------------------------------



  • 6.  RE: Simple way to run Informix 14 and 15 in parallel

    Posted 29 days ago

    Sebastien:

    I am certainly no Windows SME, however, AFAIK the Informix install doesn't do anything that is system-wide so I do not think that it makes any difference in which order you install v14.10 and v15.0. The only thing that matters is that they are installed in separate folders optionally sharing only an sqlhosts file if they need to be able to see each other.

    Art



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