Database Options

Database process options apply to Transaction Engine (TE), Storage Manager (SM), and Snapshot Storage Manager (SSM) database processes only and take effect at process start time.

The following table provides information for database options. For each option, the table below lists the following:

Note: All options described in the following table are case-sensitive.

See also: Setting Database Options for Managed Databases and Precedence for Database Process Options.

Option Name Option Argument Default Argument Description Scope
backoff.delay n 60000 Specifies the initial amount of time in milliseconds for the broker to wait before it tries to restart a database process. The delay time between retries increases two times (2x) with each retry. The default is 60 seconds. See .Setting Up Automatic Restart of Processes System
backoff.maxRetry n 10 Specifies the maximum number of times to try restarting a database process.
If the maximum retry number is reached and the process does not restart then enforcement stops for that process.////If backoff.stopOnMaxRetry is false then enforcement stops only for that process. If backoff.stopOnMaxRetry is true then enforcement stops for the database and the database is then in a STOPPED state with regard to enforcement.
In other words, enforcement is disabled but the database can be active and running while enforcement is stopped. See Setting Up Automatic Restart of Processes
backoff.reqMinUptime n 30000 Specifies the minimum required time, in milliseconds, for a database process to be available before the enforcer tries to restart a process that terminates. Specify -1 to disable the retry and back-off mechanism. See Setting Up Automatic Restart of Processes. This is a database option that you can also set for one or more process groups. For example, you might want the SMs process group to use the 30000 default setting while your custom Backup_SMs process group requires 60000 milliseconds of up time. See Specifying Retry and Back-Off Policy for a Process Group. System
backoff.stopOnMaxRetry true|false false If backoff.stopOnMaxRetry is true and backoff.maxRetry is met for at least one process, then the database will be in the STOPPED state with regard to enforcement. In other words, enforcement is disabled but the database can be active and running while enforcement is stopped. System
commit {safe | local | remote[:n] | region[:n]} safe There are several types of commit protocols that you can specify for transaction engines. For each protocol, durability is a database transaction property that ensures that changes made during a transaction are persistent and can be re-created if a storage manager terminates and restarts. For details, see Description of Values for Commit Database Option. TE
config config_file None Specifies a configuration file to be passed to the TE, SM or SSM process. The configuration file can contain any of the options in this table, represented as key/value pairs, where each key is separated from its value with whitespace, and each key/value pair resides on its own line in the file. This configuration file will be passed to all processes (TEs, SMs, SSM) in the database. If the configuration file contains any options that might refer to a local directory path, this path must exist on all database hosts. TE, SM, SSM
countUnreachabeTE true|false false When set to true, the enforcer counts unreachable transaction engines when it determines whether a database has its maximum number of TEs. The default behavior is that the enforcer does not count unreachable transaction engines.
Typically, the default behavior is desired. By not counting unreachable TEs when calculating the number of TEs that are serving a database, the enforcer replaces an unreachable TE by starting a new TE on the host of any available broker. If you set countUnreachableTE to true then the enforcer does not start a new TE to replace an unreachable TE.
The maximum number of TEs that a database can have is specified in the database's template requirements section. Typically, you use the TE_MAX template variable to set this number.
crash-dir directory $NUODB_LOGDIR/crash Specifies a directory in which to place crash reports for NuoDB processes (TEs, SMs, SSM). This option is for Linux only. $NUODB_LOGDIR for package installations is /var/log/nuodb and for Tar/Local installations is $NUODB_HOME/var/log. TE, SM, SSM
database database_name   The database within the domain to manage. TE, SM, SSM
enabled-ciphers RC4[,None] RC4 By default, NuoDB engines use RC4 for encryption. That is, RC4 is the cipher used for all communication among NuoDB processes. Unless you change the default, your client applications must use RC4 when they connect to NuoDB. To make no encryption available, set the enabled-ciphers option to RC4, None. You cannot specify only None. TE, SM, SSM
hostLimit true|false false If set to true, then the enforcer does not start a TE and SM on the same host. System
journal-max-directory-entries n 1000 Sets the maximum number of journal files in a journal sub-directory. A new journal sub-directory is created when the specified limit has been reached. SM, SSM
journal-max-file-size-bytes n 4000000 Specifies the maximum size in bytes of a journal file. However, the journal may write a file larger than the maximum file size if a single compressed journal message is larger than the specified maximum. The journal messages will be appended to the same journal file until the maximum file size is reached. SM, SSM
journal-sync-method {kernel|disk|osync} disk

Specifies the file system synchronization mechanism when the journal needs to ensure the durability of a commit. The synchronization mechanism has been specifically tuned for each supported OS.

  • The kernelsynchronization method is the fastest but requires a battery backed disk controller. The kernel method on Linux also requires the file system to support fallocate, that is, ext4.
  • The disk synchronization method is the most durable but slowest method.
  • The osync method is available for copy-on-write files systems, also known as ZFS.
    For additional information, see Tuning Tips for Journal Performance.
jvm-lib path   This specifies a path to the JVM, used by Java Stored Procedures. The jvm-lib argument is used to force the TE to load a specific instance of a JVM. If jvm-lib is not specified, the TE will use a search algorithm that on Windows will choose the default JVM as specified in the registry, and on Linux will search for the JVM as specified by the JAVA_HOME environment variable first and then in well-known locations (MacOS Java framework, /usr/java, /usr/lib/java, /opt/java, and so on). TE
ldap-dn ldapDN   Required for LDAP authentication. This, in conjunction with ldap-pass, allows proxy level authentication and the specified account must have search privileges on the ldap-base.
It is used to search for the full Distinguished Name (DN) of the user that connects.


ldap-dn 'cn=Manager,ou=people,dc=example,dc=com'

ldap-pass ldapPassword   Required for LDAP authentication. This, in conjunction with ldap-dn, allows proxy level authentication and the specified account must have search privileges on the ldap-base. It is used to search for the full Distinguished Name (DN) of the user that connects. TE
ldap-base ldapBase   Required for LDAP authentication. Starting point for the LDAP search instead of the default.



ldap-type unixwindows   Required for LDAP authentication. LDAP server type. Only unix or windows is allowed. TE
ldap-uri ldapURI   Required for LDAP authentication. Specify URI referring to



the LDAP server(s).
ldap-conf ldapConf   Optional. LDAP path to ldap.conf file to use (see man ldap.conf — Linux only) TE
ldap-ca ldapCA   Optional. LDAP CA certificate to validate server certificate for ldaps (Linux only) TE
ldap-lib ldapLib   Optional. LDAP openldap library name (Linux only) TE
max-http-connections n 16 Maximum number of concurrent HTTP requests permitted towards the same server. This option is useful when you want to the limit the number of current connections between the SM or SSM and the archive. This option can be used only with HDFS and Amazon S3. TE
max-lost-archives n 0 The number of leader candidates that may be permanently lost (crash and become non-restartable) at a time before durability is compromised. For a database to be available to commit update transactions, max-lost-archives + 1 leader candidates must be running in the system. The default is 0, meaning that the system is resilient to any number of ordinary failures and available for updates as long as at least one leader candidate is running; but, if 1 or more leader candidates is permanently lost then durability may be compromised.

When max-lost-archives > 0, the transaction can fail to commit, and then roll back. But if the whole database fails before the transaction completes roll back, the partially rolled back transaction can be dredged as pre-committed and promoted to committed, thus creating a torn transaction.

mem n[m|g] 2g

Sets the maximum amount of memory in bytes to be utilized by a database process. To define this amount in megabytes or gigabytes, append either 'm' or 'g' to the value specified, for example 2g. NuoDB recommends that you set this value to the maximum amount of memory available for the database process without causing this process to use swap space.

node-port [n[,n]] NuoDB decides Port to use for this host, or optionally, a range of port values. By default NuoDB determines the port to be used. TE, SM, SSM
password password None You can set a password for database access, here. TE, SM, SSM
ping-timeout n Not set Normally, processes in the database (TEs, SMs and SSM) ping other processes at regular intervals and wait for a response. When network communication with a process times out, the process is evicted from the database by its peers.
Failure detection can be enabled by setting the ping-timeout option, specified in seconds. NuoDB recommends an interval timeout of 60 seconds or greater.
A setting of 0 means wait forever. That is, there is no time out.
See Setting Up Failure Detection for more information.
remote-syslog log-options None Equivalent to the syslog option but for use with the remote-syslog-server option. The log options you can specify include those listed in the table at the end of this topic. TE, SM, SSM
remote-syslog-server hostname Not set Send all logging information to the server log at the specified remote host. TE, SM, SSM
snapshot-max-old-versions n 150 percent In an albumA snapshot storage manager uses albums to efficiently manage snapshots. An album refers to a set of snapshots taken during some period of time. Also, an album provides a place to store additional state required to use snapshots., this is the maximum ratio of old record versions to current record versions. If the addition of a records atomThe internal object structure representing all data in a NuoDB database. Atoms are self-coordinating objects that represent specific types of information (such as data, indexes or schemas). to an album crosses this threshold, the snapshot storage manager closes the album and begins writing snapshots to a new album. If a database is served by a snapshot storage manager, the snapshot options apply to that SSM. See Database Options for When SSMs Open New Albums. SSM
snapshot-max-size n 10000 snapshots Sets the maximum number of snapshots that an album can contain before the snapshot storage manager must close the album and start saving snapshots in a new album. SSM
snapshot-min-size n 100 snapshots Sets the minimum number of snapshots that an album must contain before the snapshot storage manager can close the album and start saving snapshots in a new album. SSM
snapshot-max-time n 14400 seconds Sets the maximum length of time that an album can be open. If an album is open for this length of time then a snapshot storage manager stops writing snapshots to that album and starts writing snapshots to a new album. SSM
snapshot-min-time n 60 seconds Sets the minimum length of time that an album must be open. After this length of time, the snapshot storage manager can start writing snapshots to a new album. SSM
storage-group name[,name...]   Associates the storage group specified by name with the SM. A storage group name must contain only alphanumeric characters and underscores. Multiple storage group names may be specified in a list separated by commas. The name can be the keyword all, meaning that all storage groups will be serviced by this SM. SM
syslog log-options   Send logging information to the system log. The log options you can specify are listed after this table. TE, SM, SSM
user user_name domain The administrative user name.  
verbose log-options None Report logging and other information. This information is captured in the agent log file.
For information about where the agent log is stored on your platform, see Log Files.
You must specify at least one of the log options specified after this table.

To use the remote-syslog, syslog or verbose options, you must specify at least one of the following log options. A log option specifies a log severity level (info, warn, error, debug and flush) or a log category (see Description of Logging Categories).

archive i18n security
atoms index services
bootstrap info sql
client-msgs journal sql-index-condition-filtering
debug msgs sql-params
dump net sql-statements
error opt-index-selection stats
failure opt-joins table-events
filter ping threads
flush records transactions
gc registry tx
histograms scheduler validate
hotcopy   warn