Informix

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

    Posted 2 days ago

    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 2 days ago
    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 2 days ago

    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 yesterday

    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 yesterday
    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
    When you are running cron jobs as informix user (for backup e.g.), you should modify the logind.conf
    (somewhere in /etc/systemd probably) and comment the line RemoveIPC=yes.
    This setting activated would kill your database when the cronjob is terminating.
    (same setting is mentioned in the Oracle docs as being problematic).

    We found that sometimes, on initial startup of the db, which includes allocation of space in the
    chunk files, KAIO is not working. You should bouce the engine after initial setup and see if KAIO is working.
    (onstat -g iov should show kio entries)



    Good luck,

    MARCUS HAARMANN






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

    IBM Champion
    Posted yesterday

    Syed:

    Here's the tricky part. Initializing a new instance on RH will create the root dbspace. You should first, start with the onconfig.std that was delivered on RH as it will have the correct SHMBASE setting. Then you will need to adjust the ROOTSIZE parameter from the default to what you need it to be based on what you have set on AIX. As a consequence of the smaller pagesize, you will have to adjust the BUFFERPOOL setting for 2K pages to be double what the 4K buffer pool was on AIX if you specify it in pages. If you are specifying it in KB you should increase it by about 15% to accomodate changes in the number of pages some objects will require at the smaller page size.

    The logical logs should be created in a separate dbspace rather than in the ROOTDB so once you have created that and created the new logs there, you will have to drop the original 6 logs that server initialization will create. If you use the dbschema -c output to create this dbspace you will have to change the pagesize from "-k 4" to "-k 2"

    The physical log should also be moved to a separate dbspace from ROOTDB. If you are moving from v12.10 to v14.10 then that should be a PLOG space (onspaces -P ...). Either way you will have to tweak the dbschema -c output to either change the physical log dbspace from a "normal" one to a PLOG space or, alternatively, if you are staying on v12.10, to change the pagesize from "-k 4" to "-k 2".

    Beyond that, see Marcus's response.

    Art



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