Configuring Octopus for Multi-Server Operation
A Subclass is the implementation of a Class on a specific Node (host computer). In the basic (single-computer) Octopus implementation, the section header for a Subclass consists simply of the keyword SUBCLASS followed by the Class name: since no Node name is specified, the Subclass is considered to reside on the main Octopus host computer. For instructions on configuring Subclasses residing on remote Nodes, consult the next section, Configuring Octopus for Multi-Server Operation.
Take care to ensure that the spelling of the Class name matches that used in the OCTOPUS section; otherwise the section will not be recognized.
It is possible to reconfigure the Cache and NumberOfEngines values for Octopus Subclasses on-the-fly. For details, consult the Octopus Operations section.
If the Class name is the last in the list of values for the Classes parameter in the OCTOPUS section, and OctoRunMode is set to PublicUpdate, then the Subclass is automatically defined as updatable. If the Class name is first in the Classes list, and the LoginClass=TRUE parameter is also included in the OCTOPUS section, the Subclass is reserved for the processing of client database login requests.
The number of OctoEng’s that will be started for this Subclass when
Octopus starts. If the Subclass is updatable, it can contain only one
The following are optional Subclass parameters:
The maximum amount of virtual memory (in megabytes) that will be allocated for database operations for OctoEng’s in this Subclass.
location of the Delta Files to which changes to the database will be written.
A period ( . ) indicates the current directory.
value from the OCTOPUS section
Sets the scale for the results of integer division. By default, if a division operation contains an INTEGER, SMALLINT, or UNSIGNED value as the divisor and dividend, the resulting value is an integer, and any decimal portion of the result is truncated. When the IntegerDivisionScale parameter is set to a positive number, integer division will instead return a value rounded to the specified number of decimal places.
The IntegerDivisionScale parameter must be set to a non-negative integer number n, where n is the number of decimal places that will be returned by integer division. For instance, IntegerDivisionScale=1 means that results have one decimal place, IntegerDivisionScale=2 means two decimal places, and so on to a maximum of 50 decimal places. However, for large IntegerDivisionScale values, the actual maximum scale depends on the number being divided. For A divided by B:
Note that IntegerDivisionScale can also be set in the [DATABASE...] and [OCTOPUS...] sections to change the scope of the parameter.
maximum size of the Delta Files (one per OctoEng in each Subclass) to
which changes to the database will be written. MaxDeltaFileSize expresses
this figure in megabytes (0
= unlimited); MaxDeltaFileRatio expresses
it as a percentage of database size. When MaxDeltaFileRatio=0,
value is used.
If both parameters are included, the MaxDeltaFileRatio setting is used, except when MaxDeltaFileRatio=0.
(UNIX only) Sets the maximum amount of virtual memory (in megabytes) that the OctoEng's will use. If MaxVMem is not set, a server will use the environments hard ulimit setting to determine its virtual memory limit, based on the hard ulimits relation to the minimum memory requirements for the server (Cache value + 1024 MB).
If the MaxVMem setting is less than the Cache value + 1024 MB (1 GB), it is automatically set to Cache + 1 GB. If the MaxVMem setting is greater than the hard ulimit setting, it is automatically set to the hard ulimit setting. If MaxVMem is not set and the hard ulimit setting is unlimited, MaxVMem defaults to Cache + 1 GB.
The maximum virtual memory settings are summarized in the table below:
Note that MaxVMem can also be set in the [DATABASE...] and [OCTOPUS...] sections to change the scope of the parameter.
Minimum: Cache value + 1024 MB
|ODDBMaxVMem=||(On-Demand Database mode) See the MaxVMem parameter description above.|
|ODDBSubClass=||(On-Demand Database mode) Specifies whether the Subclass
can be used to start ODDB instances. Only Subclasses that have this parameter
set to TRUE will be used for ODDB operations.
maximum time (in seconds) allowed for query processing by OctoEng’s in
this Subclass. A value of 0 indicates unlimited time. If the results
have not been returned when this period has elapsed, the query is passed
to the next Class specified in the Classes list in the OCTOPUS section.
If not set to 0, the minimum RescheduleTimeout setting is 5 seconds.
Configuring Octopus for Multi-Server Operation