IBM Informix

Destination IBM Informix #

The following steps refer the extracted Arcion self-hosted CLI download as the $REPLICANT_HOME directory.

Obtain the Informix JDBC driver #

Arcion Replicant requires Informix JDBC driver as a dependency. To make sure Replicant can access the necessary dependency files, follow these steps:

  1. Download the Informix JDBC driver JAR file.
  2. After downloading the JAR file, put it inside the lib/ directory of your Replicant self-hosted download folder.

I. Set up Connection Configuration #

  1. From $REPLICANT_HOME, navigate to the sample connection configuration file:

    vi conf/conn/informix.yaml
    
  2. You can store your connection credentials in a secrets management service and tell Replicant to retrieve the credentials. For more information, see Secrets management.

    Otherwise, you can put your credentials like usernames and passwords in plain form like the sample below:

    type: INFORMIX
    
    host: localhost #Replace localhost with your Informix server's hostname
    port: 9088  # In case of SSL connection use SSL port
    
    server: 'informix'
    database: 'tpch' # Name of the catalog from which the tables are to be replicated
    
    username: 'informix' #Replace informix with the user that connects to your Informix server
    password: 'in4mix'  #Replace in4mix with your user's password  
    informix-user-password: 'in4mix' #Password for user "informix"
    
    lock-wait-duration: -1  # -1 will wait until lock is released, to use a timeout set a positive number of seconds
    
    #ssl:
    #  trust-store: 
    #    path: "/home/informix/ssl/truststore.jks" #Path to the JKS truststore containing the trust certificate of the Informix server
    #    password: "in4mix" #The truststore password
    
    max-connections: 15 #Maximum number of connections Replicant can open in Informix
    

    You have to connect to the syscdcv1 catalogue on the server as the user informix to be able to use Change Data Capture. The informix-user-password parameter of the config file above should have the password of user informix. For more information, see Preparing to use the Change Data Capture API on IBM Informix Documentation.

II. Setup Applier Configuration #

  1. From $REPLICANT_HOME, navigate to the applier configuration file:

    vi conf/dst/informix.yaml
    
  2. Make the necessary changes as follows:

    snapshot:
      threads: 16
    
      #use-raw-tables: false 
    
      #batch-size-rows: 5_000
      #txn-size-rows: 1_000
    
      #sbspace: 'specific_sbspace'
      #dbspace: 'specific_dbspace'
    

    The use-raw-tables parameter tells replicant the type of Informix tables to use for the destination. Setting it to true tells Replicant to perform the following to the destination tables:

    • Remove constraints like primary-key constraints, unique constraints, and referential constraints.
    • Change the destination tables to type RAW (non-logging). This improves bulk load performance. Once loading is complete, Replicant converts the tables back to STANDARD type and reinforces the constraints.

    You can also specify dbspace and sbspace for the destination by using the sbspace and dbspace parameters respectively.

  3. If you want to operate in realtime mode, you can make use of the following parameters:

    realtime:
      threads: 16
      #txn-size-rows: 10_000
      #batch-size-rows: 1000
    
    # Transactional mode config
    # realtime:
    #   threads: 1
    #   batch-size-rows: 1000
    #   replay-consistency: GLOBAL
    #   txn-group-count: 100
    #   _oper-queue-size-rows: 20000
    #   skip-upto-cursors: #last failed cursor
    

For a detailed explanation of configuration parameters in the applier file, read Applier Reference.