Daylight v4.9
Release Date: 1 February 2008

Name

merlinload - load a database into Merlin server's memory

Unix Synopsis

merlinload [options] database [datatype_tag ... ]

Description

merlinload tells the Merlin server to load the specified database into the server's memory (where it is also called a "pool"), or tells the Merlin server to release a pool from its memory, freeing the memory for other uses, or to reload it (release it then load it).

Loading a database into a server's memory can take a long time (several minutes for smallish databases, a large part of an hour for very large databases), and is an uninterruptable operation. While a database is being loaded, the Merlin server won't respond to any client; clients that attempt to communicate will be blocked, and will appear to be "frozen". Because of this, databases should not be loaded into a server while other folks are trying to use the server.

Loading a database into the server's memory is an "executive operation" - you must supply the executive password.

A database is not actually released by the server until the last client closes it -- it is not possible to reload a database that is in use. The -EVICT_USERS and -GRACE_TIME options allow you to issue a warning, wait for a specified time, then "evict" all users currently using a database (see dayevict(1)). This allows you to "force" a reload a database at any time.

If one or more optional datatype_tags are on the command line, columns of the corresponding datatype will be "preallocated" in the server and marked "hold". Pre-allocating commonly-used columns can make client programs start much faster. For example, almost every client will want a SMILES ($SMI) column.

Options

-LOAD_POOL LOAD|RELEASE|RELOAD
Controls whether the specified database is to be loaded, released, or reloaded. The default is LOAD. If LOAD is specified and the database is already loaded, or if RELEASE is specified and the database is not currently loaded, the request is ignored and a warning is printed. However, columns are created for any datatype_tags entered even if LOAD is specified for an already-loaded database. There is no provision for releasing columns, short of releasing the entire database. If RELEASE is specified, any optional datatype_tags are ignored; all of a databases columns are released when a database is released.
-EVICT_USERS TRUE|FALSE
Allows you to evict all current users of a Merlin pool so that it can be reloaded. This option is ignored unless you also specify "-LOAD_POOL RELOAD".
-GRACE_TIME minutes
If -GRACE_TIME is non-zero, a warning message is sent to all clients using the database, then merlinload "sleeps" for the specified number of minutes, and finally evicts the users and performs the reload. This option is ignored unless you also specify "-LOAD_POOL RELOAD" and "-EVICT_USERS TRUE". If -GRACE_TIME is zero, no warning is issued and eviction is immediate. Default is five minutes.

Return Value

Returns status zero if the database is successfully loaded, reloaded, or released; returns one if a problem is detected.

Files

$DY_ROOT/bin/merlinload

Daylight License

programs: merlin

Related Topics

dayevict(1) daymessage(1) merlindbping(1) merlinload(1) merlinls(1) merlinping(1) merlinwho(1) thorchange(1) thorcrunch(1) thordbping(1) thordelete(1) thordestroy(1) thordiff(1) thordump(1) thorlist(1) thorload(1) thorlookup(1) thorls(1) thormake(1) thorping(1) thorwho(1)

sthorman(1) thorserver(1) merlinserver(1) licensing(5)

Daylight Theory Manual, Daylight System Administration Manual

Bugs

None known.