High Availability Guide : HotStandby configuration parameters : High Availability Controller (HAC) parameters
  
High Availability Controller (HAC) parameters
This section describes the High Availability Controller (HAC) configuration parameters in the solidhac.ini configuration file.
The HAC configuration file solidhac.ini is divided into different sections; the sections are described in the following sections. The parameters are presented in the same order as they are in the configuration file.
For an example of the solidhac.ini file, see The solidhac.ini configuration file.
The format of parameter names, values, and section headings in the solidhac.ini configuration file follows the same conventions as the solid.ini configuration file.
To change the HAC parameter settings, edit the solidhac.ini file and restart HAC.
[HAController] section
Parameter name
Description
Mandatory
Factory value
Listen
The value of the Listen parameter specifies the protocol and the port that the HAC uses for communication with the High Availability Manager (HAM) or the solidDB® utilities such as solsql and solcon.
For example, Listen=tcp 3135.
The only supported protocol is TCP/IP (‘tcp’).
If listening cannot be started, for example, because the port is used by another process, the information is written to the log file (hacmsg.out), followed by the termination of HAC.
X
 
NetcopyErrorLevel
This parameter defines the number of times a hsb netcopy operation followed by a hsb connect operation can fail before an error message is printed to the hacmsg.out file and HAC is switched to ADMINISTRATIVE mode.
After you have fixed the problem, switch HAC back to the AUTOMATIC mode by issuing the command admin command 'hacontroller setautomatic'.
The value of the parameter must be a positive 64-bit integer.
 
10
NetcopyWarningLevel
This parameter defines the number of times a netcopy operation followed by a hsb connect can fail before a warning message is printed to the hacmsg.out file.
The value of the parameter must be a positive 64-bit integer.
 
3
StartInAutomaticMode
This parameter specifies the initial mode for HAC; it defines whether the HAC starts execution in the automatic mode.
Once the HAC is running, it can be in one of the following modes: AUTOMATIC, or ADMINISTRATIVE.
In the AUTOMATIC mode (yes), HAC automatically tries to maximize the availability by changing the HSB states of the server, and restarting the server processes when necessary.
In the ADMINISTRATIVE mode (no), HAC only monitors the health of the servers.
This parameter can be changed dynamically.
The possible values are yes and no.
Note See also the PreferredPrimary parameter in the LocalDB section; the PreferredPrimary parameter is effective only if the StartInAutomaticMode parameter has value yes.
 
yes
EnableDBProcessControl
Setting EnableDBProcessControl=yes allows HAC to manage local server process by automatically starting the server, and by providing the user with commands to shutdown and restart the database process.
This value is only valid if the HAC is in the AUTOMATIC mode.
The possible values are yes and no.
Note Setting EnableDBProcessControl=yes makes the StartScript parameter in the [LocalDB] section mandatory.
 
no
EnableAutoNetcopy
Setting EnableAutoNetcopy=yes allows HAC to initiate netcopy when a HSB link cannot be established with the hsb connect command.
The possible values are yes and no.
 
yes
RequiredConnectFailures
This parameter defines the number of consecutive failed connect attempts that are required before the server is considered to have failed.
When a server state is unknown, or HAC needs for some other reason to ensure the state of the server, the non-blocking SQLConnect (check) command is used. If the execution of non-blocking SQLConnects in such a case fails, it is repeated multiple times before the server in question is considered non-responsive.
The possible values are numerical values from 1 to unlimited.
 
1
CheckTimeout
This parameter defines the timeout in milliseconds between consecutive non-blocking SQLConnect commands in CHECK mode.
Very small values tend to cause “false positives”. That is, a server seems to be failed, although it is running, but was not able to respond within the timeout period.
The possible values are milliseconds from 1 to unlimited.
 
150
CheckInterval
This parameter defines the interval between consecutive non-blocking SQLConnect commands. This value does not affect the failover time. Checking (polling) takes place typically after failure or during system startup.
The possible values are milliseconds from 1 to unlimited.
 
1000
Username
Username for HAC.
The username must begin with a letter or an underscore. Use lowercase letters from a to z, uppercase letters from A to Z, the underscore character “_”, and numbers from 0 to 9.
X
 
Password
Password for HAC for the user identified by the Username parameter.
The password can begin with any letter, underscore, or number. Use lowercase letters from a to z, uppercase letters from A to Z, the underscore character “_”, and numbers from 0 to 9.
X
 
DBUsername
Username for the local HotStandby server to which the HAC connects.
The database user should have either SYS_ADMIN_ROLE, or SYS_CONSOLE_ROLE.
X
 
DBPassword
Password for the local HotStandby server for the user identified by the DBUsername parameter.
X
 
ApplicationConnTestUsername
Defines the username for the connections used in application connection tests (EnableApplicationConnCheck is set to yes).
If EnableApplicationConnCheck is set to yes and the value for this parameter is not set, the value of DBUsername is used.
 
 
ApplicationConnTestPassword
Defines the password for the connections used in application connection tests (EnableApplicationConnCheck is set to yes).
If EnableApplicationConnCheck is set to yes and the value for this parameter is not set, the value of DBPassword is used.
 
 
[LocalDB] section
Parameter name
Description
Mandatory
Factory value
Connect
This parameter defines connect information of the local database server. HAC uses this information when it connects to the local server.
The connect information consists of a communication protocol (tcp) and the server port, for example: tcp 2125.
X
 
EnableApplicationConnTest
If set to yes, periodical testing for the application connection is enabled. The application connection test checks whether the connection the application uses to connect to the server is working.
To test the connection, HAC connects to the server using the same connect information as the application and executes simple commands to ensure the server is responsive.
The application connection test enables HAC to monitor the external availability of solidDB® server. If connection to server cannot be established or the server does not respond to simple queries, HAC concludes that the service provided by server is not available. If the server process exist in the system, HAC calls the script specified with the parameter UnresponsiveActionScript. Important: Before enabling application connection test, ensure that you have created the user account the test uses. If the application connection test cannot connect to solidDB® due to an invalid user name or password, it waits until the time specified with ApplicationConnTestInterval expires. An error is also output to hacmsg.out.
Also, if EnableApplicationConnTest is set to yes and the user account the Application Connection Tester uses is missing from either server, solidDB® might slow down considerably. To recover:
1 Suspend HAC operations with
ADMIN COMMAND 'hac suspend'.
2 Create the user accounts on both servers.
3 Resume HAC operations with
ADMIN COMMAND 'hac resume'
 
no
ApplicationConnTestConnect
This parameter defines the connect information for application connection test connections (EnableApplicationConnCheck is set to yes).
The value of this parameter needs to be the same as the connect information the application uses to connect to the server. The value consists of a communication protocol (tcp), server address, and port number, for example:
tcp -i10.0.0.101 2125
If ApplicationConnTestConnect is not specified, the value defined with the parameter Connect is used.
 
 
EnableUnresponsiveActions
If set to yes, a user-provided script is executed if an application connection test fails.
The script is defined with the parameter UnresponsiveActionScript.
 
no
RequiredAppConnTestFailures
This parameter defines the number of times the application connection test commands are executed before the server is considered unresponsive.
 
3
ApplicationConnTestTimeout
This parameter defines timeout in milliseconds for consecutive commands used in application connection test.
 
5000
ApplicationConnTestInterval
This parameter defines the interval in milliseconds between consecutive non-blocking commands used in application connection test.
 
3000
StartScript
This parameter declares the name of the script which is used to initiate the database process, for example, /home/soliddb/ start_solid.sh.
This parameter is mandatory if HAC is configured to control the database process with the EnableDBProcessControl parameter:
If EnableDBProcessControl is set to yes, this parameter is mandatory.
If EnableDBProcessControl is set to no, this parameter is not effective.
Tip: In Linux and UNIX environments, you can use the -x option to sh to print commands and their arguments as they are executed.
For example:
#!/bin/sh -x
The log of the start script (start_solid.sh) is output by default into /tmp/hac_start_solid.err. The log of the starting solidDB® process is output by default into /tmp/hac_start_solid.out.
See description
 
UnresponsiveActionScript
This parameter defines the name and location of the script that contains the actions to be taken if application connection test fails, for example:
/home/solid/terminate_solid.sh.
When calling the script, HAC needs to specify the solidDB® process identifier as a parameter. If HAC does not know the solidDB® process id, the script cannot be executed.
This parameter is mandatory if both EnableApplicationConnTest and EnableUnresponsiveActions are set to yes.
Example:
The following terminate_solid.sh script terminates the solidDB® process with id 1 in Linux and UNIX operating systems:
#!/bin/sh
#terminate_solid.sh

ulimit -c unlimited
kill -6 $1
sleep 30
kill -9 $1
Tip: In Linux and UNIX environments, you can use the -x option to sh to print commands and their arguments as they are executed.
For example:
#!/bin/sh -x
The log of the action script (terminate_solid.sh) is output into /tmp/hac_terminate_solid.err. The log of the terminating solidDB® process is output into /tmp/hac_terminate_solid.out.
See description
 
PreferredPrimary
This parameter defines whether the local server becomes the Primary when the logpos values of both servers are equal. If both servers have the same value in PreferredPrimary, the first server becomes the new Primary.
This parameter is effective only if the StartInAutomaticMode parameter has value yes.
The possible values are yes and no.
 
no
StartScript
This parameter declares the name of the script which is used to initiate the database process, for example, /home/soliddb/ start_solid.sh.
This parameter is mandatory if HAC is configured to control the database process with the EnableDBProcessControl parameter:
If EnableDBProcessControl is set to yes, this parameter is mandatory.
If EnableDBProcessControl is set to no, this parameter is not effective.
Tip: In Linux and UNIX environments, you can use the -x option to sh to print commands and their arguments as they are executed.
For example:
#!/bin/sh -x
The log of the start script (start_solid.sh) is output by default into /tmp/hac_start_solid.err. The log of the starting solidDB® process is output by default into /tmp/hac_start_solid.out.
See description
 
[RemoteDB] section
Parameter name
Description
Mandatory
Factory value
Connect
This parameter defines connect information of the remote database server. HAC uses this information when it connects to the remote server.
The remote database is defined by giving the communication protocol, the remote server IP address, and its port, for example, tcp 192.168.3.123 2125.
X
 
[ERE] section
Parameter name
Description
Mandatory
Factory value
EREIP
This parameter identifies the IP address of an External Reference Entity, for example, 192.168.3.1.
See also the RequiredPingFailures parameter.
 
 
RequiredPingFailures
This parameter defines the maximum number of consecutive Ping calls that must fail before HAC concludes that the server is disconnected from the ERE and isolated from the client network.
This parameter can only be used with ERE.
The possible values are numerical values from 1 to unlimited.
 
3
See also
HotStandby configuration parameters