Informix Version 11.70 introduced a brand new command, ifxclone, that can be used to clone a database server with minimum setup or configuration, or to quickly add a new node to an existing ER domain. Successfully cloning a server might still require some post-configuration steps to achieve a better running system. You must run the ifxclone command from the target server.

1 The ifxclone utility

DIRECT_IO

The ifxclone utility modifies the value of DIRECT_IO parameter to 0. Please be careful to restore this value with the previous value before do the ifxclone (review the commented command on the onconfig file).

Use the ifxclone utility to clone a server with minimum setup or configuration, or to quickly add a new node to an existing ER replication domain. When the ifxclone utility is run, the majority of the setup information is obtained from the server node that is being cloned. Successfully cloning a server might still require some post-configuration steps to achieve a better running system.

The source server is the server that contains the data you wish to clone. The target server is the server that is to be loaded with data from the source server.

Excute on target

You must run the ifxclone utility from the target server. The value of FULL_DISK_INIT must be setted to 1 in the target server.

To run the ifxclone utility on a UNIX computer, you must run the command on the target server as user root, user informix, or as a member of the informix group. You must also be a DBSA on the source server.

2 Command syntax

Here are the command-line options for the ifxclone command:

Copy
ifxclone -SIPtip                          # Clone a server
-h      --help                            # Display this output
-S      --source=<name>                   # Name of the source node
-I      --sourceIP=<IP>                   # IP address of source node
-P      --sourcePort=<port>               # Port number of source server
-t      --target=<name>                   # Name of target server
-i      --targetIP=<IP>                   # IP address of target server
-p      --targetPort=<port>               # Port number of target server
-d      --disposition=[RSS|ER|HDR|SDS]    # Clone disposition (default:standard)
-s      --size=[tiny|small|medium|large]  # Configuration size
-c      --configParm="PARAMETER=VALUE"    # Configuration override
-L      --useLocal                        # Use the local config and sqlhost
-T      --trusted                         # No userid/password required
-a      --autoconf                        # Propagate SQLHOSTS and trusted-host records to Enterprise Replication nodes and high-availability replication servers.
-k      --createchunkfile                 # automatically create chunks on the target
Example
Copy
ifxclone -S ol_source -I 192.168.10.31 -P 9088 -t ol_target -i 192.168.10.38 -p 9088 -T

Info

To run ifxclone with the -T (trusted) argument, you must define the trust relationship between the two servers in the file /etc/hosts.equiv adding the IP or nameserver (defined at DNS) for the informixserver used in the ifxclone command.

3 Prerequisites

Perform the following prerequisites before cloning a server:

The source server

Enable the snapshot by setting the ENABLE_SNAPSHOT_COPY configuration parameter to 1:

Copy
onmode -wm ENABLE_SNAPSHOT_COPY=1

The target server

  • Create all of the chunks that exist on the source server.

  • The target server must not have any old ROOTPATH pages. If the target server has old ROOTPATH pages, create a zero-length ROOTPATH file or set the FULL_DISK_INIT configuration parameter to 1 in the target server's onconfig file.
  • Set the following environment variables:
    Copy
    export INFORMIXDIR=/home/informix
    export INFORMIXSERVER=ol_rdemodbsrv
    export INFORMIXSQLHOSTS=$INFORMIXDIR/etc/sqlhosts
    export ONCONFIG=onconfig

4 Clone an instance in standard mode

You must run the ifxclone utility from the target server.

  • Execute ifxclone maintaining the configuration of the target server and without requesting user and password from connection to the source server:
    Copy
    ifxclone -S ol_pdemodbsrv -I 192.168.56.101 -P 9088 -t ol_rdemodbsrv -i 192.168.56.111 -p 9088 -T -L
  • Execute ifxclone requesting the user and password and the configuration file is generated the same as the origin server by changing the parameter MSGPATH:
    Copy
    ifxclone -S ol_pdemodbsrv -I 192.168.56.101 -P 9088 -t ol_rdemodbsrv -i 192.168.56.111 -p 9088 -c "MSGPATH=/home/informix/tmp/clone.log"

5 Clone an instance in HDR mode

You must run the ifxclone utility from the target server.

  • Execute ifxclone maintaining the configuration of the target server and without requesting user and password from connection to the source server:
    Copy
    ifxclone -S ol_pdemodbsrv -I 192.168.56.101 -P 9088 -t ol_rdemodbsrv -i 192.168.56.111 -p 9088 -T -L -d HDR
  • Execute ifxclone requesting the user and password and the configuration file is generated the same as the origin server by changing the parameter MSGPATH:
    Copy
    ifxclone -S ol_pdemodbsrv -I 192.168.56.101 -P 9088 -t ol_rdemodbsrv -i 192.168.56.111 -p 9088 -d HDR -c "MSGPATH=/home/informix/tmp/clone.log"

6 Clone an instance in RSS mode

You must run the ifxclone utility from the target server.

  • Execute ifxclone maintaining the configuration of the target server and without requesting user and password from connection to the source server:
    Copy
    ifxclone -S ol_pdemodbsrv -I 192.168.56.101 -P 9088 -t ol_rdemodbsrv -i 192.168.56.111 -p 9088 -T -L -d RSS
  • Execute ifxclone requesting the user and password and the configuration file is generated the same as the origin server by changing the parameter MSGPATH:
    Copy
    ifxclone -S ol_pdemodbsrv -I 192.168.56.101 -P 9088 -t ol_rdemodbsrv -i 192.168.56.111 -p 9088 -d RSS -c "MSGPATH=/home/informix/tmp/clone.log"

7 DIRECT_IO

DIRECT_IO

The ifxclone utility modifies the value of DIRECT_IO parameter to 0. Please be careful to restore this value with the previous value before do the ifxclone (review the commented command on the onconfig file).