Defining sqlhosts information for high-availability clusters that use Distributed Relational Database Architecture™ (DRDA®)
Connection Managers support Distributed Relational Database Architecture™ (DRDA®) connections for high-availability clusters. You must define sqlhosts network-connectivity information for connection management of high-availability clusters that use DRDA®.
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.
Procedure
- On the host of each Connection Manager and database server,
create sqlhosts file entries for each database
server in the cluster.For example:
#dbservername nettype hostname servicename options server_1 onsoctcp host_1 port_1 server_2 onsoctcp host_3 port_2 server_3 onsoctcp host_5 port_3
- In each database server's onconfig file,
set the DBSERVERALIASES parameter to specify an alias for the server.
The onconfig file entry for server_1:
DBSERVERALIASES drda_1
The onconfig file entry for server_2:DBSERVERALIASES drda_2
The onconfig file entry for server_3:DBSERVERALIASES drda_3
- On the host of each Connection Manager, add entries for
the DRDA® aliases. Use a DRDA® protocol for the
nettype
value.For example:#dbservername nettype hostname servicename options server_1 onsoctcp host_1 port_1 server_2 onsoctcp host_2 port_2 server_3 onsoctcp host_3 port_3 drda_1 drsoctcp host_1 port_4 drda_2 drsoctcp host_2 port_5 drda_3 drsoctcp host_3 port_6
- On the host of each Connection Manager, add a group entry
for the group of database server and add a group entry for the group
of DRDA® aliases. Add group
options to the database server and DRDA® alias
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 my_servers group - - c=1,e=server_3 server_1 onsoctcp host_1 port_1 g=my_servers server_2 onsoctcp host_2 port_2 g=my_servers server_3 onsoctcp host_3 port_3 g=my_servers drda_aliases group - - c=1,e=drda_3 drda_1 drsoctcp host_1 port_4 g=drda_aliases drda_2 drsoctcp host_2 port_5 g=drda_aliases drda_3 drsoctcp host_3 port_6 g=drda_aliases
- 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 CLUSTER my_cluster { INFORMIXSERVER my_servers SLA sla_primary_1 DBSERVERS=PRI SLA sla_primary_drda_1 DBSERVERS=PRI SLA sla_secondaries_1 DBSERVERS=SDS,HDR SLA sla_secondaries_drda_1 DBSERVERS=SDS,HDR FOC ORDER=ENABLED \ PRIORITY=1 }
The second Connection Manager's configuration file has the following entries:NAME connection_manager_2 CLUSTER my_cluster { INFORMIXSERVER my_servers SLA sla_primary_2 DBSERVERS=PRI SLA sla_primary_drda_2 DBSERVERS=PRI SLA sla_secondaries_2 DBSERVERS=SDS,HDR SLA sla_secondaries_drda_2 DBSERVERS=SDS,HDR FOC ORDER=ENABLED \ PRIORITY=2 }
Add the following entries to each client application's host sqlhosts file:#dbservername nettype hostname servicename options sla_primary_1 onsoctcp cm_host_1 cm_port_1 sla_primary_2 onsoctcp cm_host_2 cm_port_2 sla_secondaries_2 onsoctcp cm_host_1 cm_port_3 sla_secondaries_2 onsoctcp cm_host_2 cm_port_4 sla_primary_1_drda drsoctcp cm_host_1 cm_port_5 sla_primary_2_drda drsoctcp cm_host_2 cm_port_6 sla_secondaries_2_drda drsoctcp cm_host_1 cm_port_7 sla_secondaries_2_drda drsoctcp cm_host_2 cm_port_8
- 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.#dbservername nettype hostname servicename options g_primary group - - c=1,e=sla_primary_2 sla_primary_1 onsoctcp cm_host_1 cm_port_1 g=g_primary sla_primary_2 onsoctcp cm_host_2 cm_port_2 g=g_primary g_secondaries group - - c=1,e=sla_secondaries_2 sla_secondaries_2 onsoctcp cm_host_1 cm_port_3 g=g_secondaries sla_secondaries_2 onsoctcp cm_host_2 cm_port_4 g=g_secondaries g_primary_drda group - - c=1,e=sla_primary_2_drda sla_primary_1_drda drsoctcp cm_host_1 cm_port_5 g=g_primary_drda sla_primary_2_drda drsoctcp cm_host_2 cm_port_6 g=g_primary_drda g_secondaries_drda group - - c=1,e=sla_secondaries_2_drda sla_secondaries_2_drda drsoctcp cm_host_1 cm_port_7 g=g_secondaries_drda sla_secondaries_2_drda drsoctcp cm_host_2 cm_port_8 g=g_secondaries_drda