Defining sqlhosts information for connection management high-availability replication systems
You must define sqlhosts network-connectivity information for connection management of high-availability replication systems.
About this task
To use a file other than $INFORMIXDIR/etc/sqlhosts on a specific host, set the host's INFORMIXSQLHOSTS environment variable to the alternative file.
For this example, you are setting up Enterprise Replication between the primary servers of three high-availability clusters.
Cluster 1:
- server_1 (primary)
- server_2 (SD secondary)
- server_3 (HDR secondary)
- server_4 (RS secondary)
Cluster 2:
- server_5 (primary)
- server_6 (SD secondary)
- server_7 (HDR secondary)
- server_8 (RS secondary)
Cluster 3:
- server_9 (primary)
- server_10 (SD secondary)
- server_11 (HDR secondary)
- server_12 (RS secondary)
Procedure
- On the host of each Connection Manager and database server,
create sqlhosts file entries for each server.
For example:
#dbservername nettype hostname servicename options server_1 onsoctcp host_1 port_1 server_2 onsoctcp host_1 port_2 server_3 onsoctcp host_2 port_3 server_4 onsoctcp host_3 port_4 server_5 onsoctcp host_4 port_5 server_6 onsoctcp host_4 port_6 server_7 onsoctcp host_5 port_7 server_8 onsoctcp host_6 port_8 server_9 onsoctcp host_7 port_9 server_10 onsoctcp host_7 port_10 server_11 onsoctcp host_8 port_11 server_12 onsoctcp host_9 port_12
- On the host of each Connection Manager and database server,
create a sqlhosts file group entry for each replication-server
entry and each cluster. Add group options to each database server
entry. Use the
i=unique_number
group-entry option to assign an identifier to the group for Enterprise Replication. Use thec=1
group-entry option for cluster groups, so that connection-attempt starting points in the list of group members is random. Use thee=last_member
group-entry option so that the entire sqlhosts is not scanned for group members.For example:#dbservername nettype hostname servicename options cluster_1 group - - i=1,c=1,e=server_4 server_1 onsoctcp host_1 port_1 g=cluster_1 server_2 onsoctcp host_1 port_2 g=cluster_1 server_3 onsoctcp host_2 port_3 g=cluster_1 server_4 onsoctcp host_3 port_4 g=cluster_1 cluster_2 group - - i=2,c=1,e=server_8 server_5 onsoctcp host_4 port_5 g=cluster_2 server_6 onsoctcp host_4 port_6 g=cluster_2 server_7 onsoctcp host_5 port_7 g=cluster_2 server_8 onsoctcp host_6 port_8 g=cluster_2 cluster_3 group - - i=3,c=1,e=server_12 server_9 onsoctcp host_7 port_9 g=cluster_3 server_10 onsoctcp host_7 port_10 g=cluster_3 server_11 onsoctcp host_8 port_11 g=cluster_3 server_12 onsoctcp host_9 port_12 g=cluster_3
- On the host of each client application, create an sqlhosts file
entry for each service-level agreement (SLA) in each Connection Manager
configuration file.The first Connection Manager's configuration file has the following entries:
NAME connection_manager_1 REPLSET my_replset { INFORMIXSERVER cluster_1,cluster_2,cluster_3 SLA sla_1 DBSERVERS=ANY } CLUSTER my_cluster_1 { INFORMIXSERVER cluster_1 FOC ORDER=ENABLED \ PRIORITY=1 } CLUSTER my_cluster_2 { INFORMIXSERVER cluster_2 FOC ORDER=ENABLED \ PRIORITY=1 } CLUSTER my_cluster_3 { INFORMIXSERVER cluster_3 FOC ORDER=ENABLED \ PRIORITY=1 }
The second Connection Manager's configuration file has the following entries:NAME connection_manager_2 REPLSET my_replset { INFORMIXSERVER cluster_1,cluster_2,cluster_3 SLA sla_2 DBSERVERS=ANY } CLUSTER my_cluster_1 { INFORMIXSERVER cluster_1 FOC ORDER=ENABLED \ PRIORITY=2 } CLUSTER my_cluster_2 { INFORMIXSERVER cluster_2 FOC ORDER=ENABLED \ PRIORITY=2 } CLUSTER my_cluster_3 { INFORMIXSERVER cluster_3 FOC ORDER=ENABLED \ PRIORITY=2 }
Add the following entries to each client application's host sqlhosts file:#dbservername nettype hostname servicename options sla_1 onsoctcp cm_host_1 cm_port_1 sla_2 onsoctcp cm_host_2 cm_port_2
- On the host of each client application, create sqlhosts file
group entries for each group of SLA entries, and add group options
to the SLA entries. Use the
c=1
group-entry option, so that connection-attempt starting points in the list of group members is random. Use thee=last_member
group-entry option so that the entire sqlhosts is not scanned for group members.For example:#dbservername nettype hostname servicename options g_sla onsoctcp - - c=1,e=sla_2 sla_1 onsoctcp cm_host_1 cm_port_1 g=g_sla sla_2 onsoctcp cm_host_2 cm_port_2 g=g_sla