Informix

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

    Posted 17 hours ago

    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 17 hours ago

    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 17 hours ago

    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 13 hours ago

    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