4 Installing Eloquence on the Linux platform
In order to run the eloqdb6 server it is required to adapt your system configuration. This involves the following steps:
Please add lines like below to your /etc/services file:
eloqdb 8102/tcp # Eloquence A.06.00 eloqdb6 serverthe first column specifies the service name (eg. eloqdb6) and the second column the associated port number and protocol (eg. 8102/tcp). The selected port numbers may not already be in use by another programs.
NOTE: All systems must use the same port numbers for the same service in order to communicate.
You can have more than one instance of the eloqdb6 server running on a single system, however they must use different services/port numbers.
NOTE: Multiple eloqdb6 instances are covered in detail in the section Setting up multiple eloqdb6 instances below.
While you can specify any user or group account in the configuration file, we recommend to create a specific user account and group for Eloquence which is used by the eloqdb6 server.
We recommend to create the user account eloqdb and the group eloqdb which should have the account eloqdb as a member. The account should be marked "disabled" (by putting an asterisk into the password field of the /etc/passwd file) to prevent logins using the eloqdb account.
START_ELOQDB6=1NOTE: The /etc/sysconfig/eloquence6 location of the startup/shutdown configuration file applies to recent LSB compliant Linux distributions. Older distributions such as SuSE Linux 7.3 and before use the /etc/rc.config.d/eloquence6 location instead.
The default configuration is not optimized for performance and does not handle a large number of concurrent connections. Therefore, you should adjust the following parameters in the eloqdb6.cfg configuration file to your requirements:
The recommended setting is EnableIPC = 2.
NOTE: If the configuration of a running eloqdb6 server is changed, it must be restarted to activate the new configuration.
On Linux, the size of a single volume file is currently limited to 2 gigabytes.
Additional data volumes can be created at any time to extend the available database storage. Additional transaction log volumes can be added as well, but it is unlikely that these will ever be used because the purpose of a log volume is to hold temporary data only.
The maximum number of volume files in a database environment is 255 which is equivalent to a maximum database storage size of 510 gigabytes (254 data volumes and 1 log volume).
It is recommended to choose a dedicated directory to hold all volume files belonging to a particular database environment. The following example assumes that the initial volumes are created in the /data/db directory:
Both files are created with their initial minimum size which is 2.5 megabytes. They will grow on demand until they reach their maximum size. The minimum and maximum size and the amount by which the files shall grow can be configured either at creation time or afterwards with the dbvolchange utility.
To view the available command line options, use:
dbvolcreate -help dbvolextend -help dbvolchange -helpThe dbvolcreate and dbvolextend utilities automatically maintain the list of volume files in the [Volumes] section of the eloqdb6.cfg configuration file.
usage: eloqdb6 [options] options: -help = show usage (this list) -c name = configuration file -d flags = debug mode -l name = log file name (or console/syslog/default) -f = run in foreground -s name = service name (tcp/ip transport) -F facility = syslog facility (USER/DAEMON/LOCAL0..LOCAL7) -I ident = syslog identifier
|-c name||Specifies the configuration file name|
|-d flags||Specifies the server log flags.||LogFlags|
|-l name||Specifies the server log file.||LogFile|
|-f||Run in foreground. This is used for debugging the eloqdb6 server.|
|-s name||The service name (as defined in /etc/services) or the port number where the server should listen for requests. The default value is eloqdb6.||Service|
|-F facility||When logging to the syslog daemon, you can define a syslog facility (USER/DAEMON LOCAL0..LOCAL7)||SysFacility|
|-I ident||When logging to the syslog daemon, you can define a syslog syslog identifier. The default is eloqdb6||SysIdent|
*Equivalent configuration file directive.
To access the eloqdb6 server, you need to provide a URL like below:
http://server:port/where server is the host name or IP number of the system running the eloqdb6 server and port is the port number used for ServiceHttp in the eloqdb6.cfg file.
The following steps are required to setup an additional eloqdb6 server instance:
Please note that the cp command below must be entered as a single line:
Next, the new configuration file must be edited. Besides the parameters mentioned in the previous section Configuring the eloqdb6 server, the following parameters must be adjusted:
* Section [Server], parameter Title
The server title is displayed when you list the eloqdb6 processes with ps. You should specify an unique title for each eloqdb6 instance to be able to distinguish the different instances in the process listing.
* Section [Server], parameter Service
Each instance requires an unique TCP service name or port number. You can either configure a dedicated service name in your local SERVICES file (please refer to the previous section Configuring the eloqdb6 TCP service for details) or simply enter an unique port number.
* Section [Server], parameter ServiceHttp
If you use the eloqdb6 HTTP status display, you are required to configure an unique TCP service name or port number for each eloqdb6 instance.
* Section [Server], parameter LogFile (optional)
By default, all eloqdb6 log messages are written to the syslog. Each log message is labeled with the process id of the originating eloqdb6 instance. However, it might be more convenient to configure a separate log file for each instance. This log file could be located within the dedicated, instance-specific directory (see below), for example:
LogFile = /data/db/instance.2/eloqdb6.log
NOTE: If you copied the configuration of an existing instance, it is required that you manually delete all volume references at the end of the file below the [Volumes] section header.
* Create the initial data volume (the following command must be entered as a single line):
-c /etc/opt/eloquence6/eloqdb6.instance.2.cfg data.vol
* Create the initial transaction log volume (the following command must be entered as a single line):
-c /etc/opt/eloquence6/eloqdb6.instance.2.cfg -t log log.vol
In this example, the argument to the -c command line option refers to the instance-specific configuration file located in the current directory.
Use the next available index if there is already an instance defined which uses the index . ELOQDB6_CFG refers to the instance-specific configuration file. If this is located outside the default /etc/opt/eloquence6 directory, the absolute path must be provided. If you don't want this instance to be started at system boot time, set the ELOQDB6_START variable to 0.
NOTE: The /etc/sysconfig/eloquence6 location of the startup/shutdown configuration file applies to recent LSB compliant Linux distributions. Older distributions such as SuSE Linux 7.3 and before use the /etc/rc.config.d/eloquence6 location instead.
The new eloqdb6 instance is now configured. You can control it using the /etc/init.d/eloq6 startup/shutdown script as follows:
/etc/init.d/eloq6 start instance.2 /etc/init.d/eloq6 status instance.2 /etc/init.d/eloq6 restart instance.2 /etc/init.d/eloq6 stop instance.2NOTE: The /etc/init.d/eloq6 location applies to recent LSB compliant Linux distributions. Older distributions may use the /sbin/init.d/eloq6 or /etc/rc.d/init.d/eloq6 locations instead.
To access a database in an additional instance, specify the instance-specific service name or port number in addition to the database name. Those utilities which do not expect a database name instead provide the -h command line option. Also, the EQ_DBSERVER environment variable can be set to specify the default instance.
The following examples assume that an additional instance was configured to use the port number 8201. They illustrate different ways to address the same instance:
schema -h :8201 db.schema.txt dbcreate :8201/db export EQ_DBSERVER=:8201 schema db.schema.txt dbcreate db