Daylight v4.9
Release Date: 1 February 2008

Name

thorserver - database network server

Unix Synopsis

thorserver [option arg]... [database ...]

Description

thorserver provides a database-access service for Thor client application programs; its capabilities include fast "order 1" access of THOR databases.

The THOR server normally runs as "background", or "daemon" programs, and have no direct user interfaces. See the Daylight Theory Manual for more information.

If one or more databases are specified on the command line, they are opened and marked "hold" (see dt_hold(3), thorchange(1), sthorman(1)). This means that the database files are kept open and cached data is kept in memory even when no client is using the database, which makes access to the database faster.

Options

-THOR_MAX_CLIENTS n
Limits the maximum number of client programs that can simultaneously connect to the THOR server, respectively, to n, where n is an integer. The default is 64. Note that this value is superseded by the maximum number of clients allowed by your license if the licensed value is less.
-THOR_IPC_SERVICE service
Changes the name of the TCP/IP service that the servers use (see /etc/services). The default is "thor". Note that service must appear in your license file on the "servers:" line or the license manager will print an error and kill the server. Only services that begin with the characters "thor" are allowed (e.g. "thor2" and "thorservice" is allowed for thorserver but "2thor" is not).
-DATABASE_PASSWORDS_FILE file
Use file as the passwords file to secure against unauthorized connections to the server. The default is:

$DY_ROOT/etc/dy_passwords.dat

thorserver must have read/write access to the file and the directory in which the file resides. If the file is an empty string, the server is started with no security; connections will be accepted from all clients (but limited by THOR_MAX_CLIENTS and the license). In this case, only the database passwords protect your data against unauthorized access.

-DATABASE_PATH "directory [directory...]"
Specifies a set of paths that are to be searched when a database is being opened. The default is $DY_THORDB. Proper use of this option allows users (client programs such as xvmerlin(1)) to open databases without entering the whole path to the database. For example, if the directory /usr/local/thordb is included in the set of directories, the database /usr/local/thordb/pomona92c could be opened by simply using the name "pomona92c". The directories are searched in the order specified; if a particular database name appears twice, the one that occurs earlier in the list of directories will be used. Note that if more than one directory is specified, all directories must be placed inside of one pair of quotes, separated by spaces.
-DATABASE_SUFFIX_LIST "suffix [suffix...]"
This option specifies a series of suffixes that THOR will try when opening a database. Some file systems don't support long filenames, some are case-insensitive. For example, a typical CD-ROM (using the ISO-9660 standard) is limited to names like ABCDEFGH.IJK (8 characters, dot, 3 characters). On some computers, the name will show up as "abcdefgh.ijk". The default list of suffixes is ".THOR .THO .thor .tho".
-DATABASE_SUFFIX_THOR suffix
-DATABASE_SUFFIX_DP suffix
-DATABASE_SUFFIX_DX suffix
-DATABASE_SUFFIX_HP suffix
-DATABASE_SUFFIX_HX suffix
-DATABASE_SUFFIX_LCK suffix
Filename suffixes that the THOR server will use to create a database. The DATABASE_SUFFIX_THOR option is the suffix for the "header" file that names the rest of the files (typically the .THOR file), and is only used if the database doesn't already have a valid suffix, i.e. one from the option DATABASE_SUFFIX_LIST, above. The rest are the suffixes for the primary data file, cross-reference data, file primary hash-table file, cross-reference hash-table file, and lockfile, respectively. Default values, respectively, are: .THOR, .DP, .DX, .HP, .HX, .LCK.
-THOR_TIMEZONE N
(Thor server only. This option is ignored on all UNIX systems.) Specifies the hours west of the zeroth meridian ("Coordinated Universal Time", or "GMT" to most of you). Some operating systems only keep local time; they have no notion of GMT. All TDTs' timestamps are in GMT (to make times compatible across worldwide networks), so Thor needs to know how far west of Greenwich it is. Typical values are 0 (England), 5 (US east coast), 8 (US west coast).
-THOR_LOG_FILE
The Thor server's log files keep auditing information, such as user logins, database creation and modification, and other "executive" operations. Default is "" (standard output).

Return Value

The Thor server normally doesn't exit until they are killed. If problems are detected during startup, a diagnostic message is printed on standard error:

FATAL ERROR: Can't run as super-user

The super-user can't run thorserver. This is to prevent potentially disastrous security violations.
Panic: Daylight option manager initialization failed!
The options manager couldn't read the options file, or found an invalid option. Possible causes are: DY_OPTIONS is wrong, or if it is not defined, DY_ROOT is wrong; you don't have read access to options files or to a directory in the path to the options files.
Can't open passwords file file.
The passwords file (defined by the option DATABASE_PASSWORDS_FILE) couldn't be opened with write permission. Note that it and the directory it is in must be writable, even if you don't plan to make changes to it.
FATAL ERROR: Can't open logfile file.
The specified log file couldn't be opened for writing.
Invalid license: message.
Your license is not valid; message gives the reason.
Killed: <pid>
On SGI machines running pre-5.x IRIX, your server may be killed because some OTHER process used too much memory. This is error and its remedy are describe in detail in "readme-sgi" in the directory where you installed you Daylight software.

Examples

Start the thorserver and open the spresi95_indirect database. This particular database usually gives better performance with its indirect data fully cached (see thorchange(1)), and fully-cached databases take a long time to open. This invocation forces the Thor server to keep spresi95_indirect open all the time:
thorserver spresi95_indirect

Files

$DY_ROOT/bin/thorserver

Daylight License

servers: thor

Related Topics

merserv_monitor(1) thorserv_monitor(1) licensing(5)
Daylight Theory Manual

Bugs