Informix

 View Only
  • 1.  Informix 12.10FC Migration to RedHat 8

    Posted Tue July 23, 2024 09:27 AM

    Hello DBAs,

    We plan to migrate IDS 12.10FC onn AIX 7 to RedHat 8, I have a question:

    Please let me know if there be any change in any of the parameters in onconfig file for linux 8 after or during migration?

    Thanks in advance



    ------------------------------
    Syed Hussaini
    ------------------------------


  • 2.  RE: Informix 12.10FC Migration to RedHat 8

    IBM Champion
    Posted Tue July 23, 2024 10:30 AM
    Firstly, read the machine notes for both Linux and AIX, and check all the surrounding dependencies as well as shared memory/semaphore settings.
    There might be some settings which are recommended for AIX which do not apply on Linux and vice versa.

    For KAIO, make sure you have reserved enough resources, check for the KAIOON settings in case of multiple instances.
    You might want to use large pages, which need to be pre-allocated.

    Other thoughts, maybe incomplete:
    Page size: if you want to keep the page size (I think 4k is default on AIX), you would need to add the dbspaces explicitely
    with the 4k page size, since Linux has 2k standard page size.
    SHMBASE ist differently set according to the machine notes

    • Direct_IO behaves differently
    • processor affinity might not work 1:1 in case you have bound cpus.
    • You might want to add a 2k bufferpool
    • Protocols in sqlhosts might vary (onsoctcp would be standard TCP/IP port)
    • if PAM is in use, check the pam.conf and the modules

    Hope this helps.

    MARCUS HAARMANN






  • 3.  RE: Informix 12.10FC Migration to RedHat 8
    Best Answer

    IBM Champion
    Posted Tue July 23, 2024 11:51 AM

    Some expansion on Marcus's notes:

    DIRECT_IO: If you are using this on AIX the setting for CONCURRENT_IO (0x02) is not valid on Linux and not needed.

    If you are using RAW disk on AIX, that can be difficult in Linux, especially in RH as the RAW module is not installed by default (RH and some other distributions keep dropping it). You will be best off using cooked filesystem files for chunks. Also you need to performance test DIRECT_IO versus no DIRECT_IO as DIRECT_IO performance on Linux various with the workload and memory.

    You have not choice about creating a 2K buffer pool as all of the system dbspaces (aka the ROOTDBS) will be 2K and logical and physical logs must be created in 2K dbspaces. 

    Do not play with SHMBASE, it is set as required for the platform in the delivered onconfig.std for the platform.

    On processor affinity, note that processor numbering on x86-64/Linux is different from how it is done on Power/AIX systems.

    Also note that if you are moving to Intel processors (as opposed to AMD processors) you best practice is to disable HyperThreading (HyperThreads perform at around 25-40% of the physical core per Intel documentation and that's too slow for serious database work - also high CPU activity on a HyperThread will slow down processes running on the main core thread)! 

    AMD's SMT threads are fine and you can treat them as if they are actual cores (though performance of threads running on those SMT threads will be about 85% or the main core thread with little effect on processes running on the main core thread.



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



  • 4.  RE: Informix 12.10FC Migration to RedHat 8

    Posted Wed July 24, 2024 06:48 AM

    Thanks Art & Marcus. I plan to make use of "dbschema -c -ns" since my DB is small and want to make use of existing structures in target RHEL linux 8.  How should deal with Art's sugestion:

    "You have not choice about creating a 2K buffer pool as all of the system dbspaces (aka the ROOTDBS) will be 2K and logical and physical logs must be created in 2K dbspaces. "

    If I understand correctly then before I run dbimport, should I edit parameters in onconfig files to make sure I have 2K sizes in ROOTDBS, logical & physical logs?

    Thanks again



    ------------------------------
    Syed Hussaini
    ------------------------------



  • 5.  RE: Informix 12.10FC Migration to RedHat 8

    IBM Champion
    Posted Wed July 24, 2024 07:21 AM
    Hi Syed,

    in order to prepare a new machine on Linux, you should first prepare the dbspaces.
    Even if the database is small, it is recommended to separate data DBSpace from rootdbs and possibly
    Log Spaces (Logical Logs and Physical log) also in a separate DBSpace.
    rootdbs and log spaces need to have 2k page size. Data DBS is your choice, if the database is very
    small, it should not make a huge difference if you put it on a 2k page DBS as well.

    For each page size, you will need a bufferpool. Since AIX is running with 4k page size by default,
    there will be a bufferpool definition for 4k in your current onconfig.
    This needs to be adjusted (remove the 4k definition if you do not have any 4k page DBSpace left
    and add a 2k bufferpool).

    The database engine, on initial start will require and populate only a rootdbs.
    This needs to be big enough to initially have space for the physical log and logical logs 
    + sysmaster/sysadmin databases.
    Then the DB engine should start cleanly and result in online mode.
    Check online log for warnings.


    In case you decide to separate the DBSpaces, setup a plogdbs with onspaces for physical log and relocate the physical log
    with onparams -p.
    Then, do the same for logical logs (create a llogdbs and relocate the logical log files).
    At the end, define a new datadbs and load the database into this dbspace with dbimport -d datadbs

    If you do not have a lot of traffic, and the database is very small, you could go with the rootdbs only
    (we do this on test systems sometimes, so keep system dbs, logs, databases in one storage segment only),
    but it is not recommended.

    One additional thing came to my mind: systemd