Installation Configuration Parameters

Install the latest version of Oracle NoSQL Database. See Install and verify your NoSQL Database installation for more details.

Before you configure Oracle NoSQL Database, you should understand the following parameters for each Storage Node in the data store.

  • root

    Purpose: The directory path specifying the value of $KVROOT. The $KVROOT disk space requirements can be reduced if the storagedir parameter is used to store the data at a different location outside the $KVROOT directory.

    Mandatory: Yes

  • port

    Purpose: The TCP/IP port through which the Storage Node connects to the Oracle NoSQL Database. This port should be free (unused) on each Storage Node. The default port used is 5000. This port is referred to as the registry port.

    Mandatory: Yes

  • harange

    Purpose: A range of ports used for communication between the replication nodes and admin process. For each Storage Node in the data store, specify sequential port numbers, one port for each replication node on the Storage Node, plus an additional port if the Storage Node hosts an Admin. Specify the port range as startPort,endPort. Example : 5010,5020

    Mandatory: Yes

  • servicerange

    Purpose: A range of ports that is used for communication among administrative services running on a Storage Node and its managed services. This parameter is useful when the administrative and managed services must use specific ports for firewall or other security purposes. By default, the services use anonymous ports. Specify the port range as startPort,endPort. For more information, see Setting Store Parameters.

    Mandatory: Yes

  • store-security

    Purpose: Specifies whether security is in use. It is recommended that you do not explicitly disable security in Oracle NoSQL Database.
    • Specifying none indicates that security will not be in use.
    • Specifying configure indicates that you want to configure a secure data store. The makebootconfig utility will then invoke the securityconfig utility as part of its operation.
    • Specifying enable indicates that security will be in use. However, you will need to either explicitly configure security by utilizing the security configuration utility (securityconfig), or copy a previously created security configuration from another Storage Node

    Mandatory: No

  • capacity

    Purpose: The total number of replication nodes the Storage Node can support. Capacity is an extremely important parameter. If the Storage Node you are configuring has the resources to support more than one replication node, set the capacity value to the appropriate number. It is recommended that you configure each Storage Node with a capacity equal to the number of available disks on the machine. Such a configuration permits the placement of each replication node on its own disk, ensuring that replication nodes on the Storage Node are not competing for I/O resources. See Initial Capacity Planning for more details.

    For example:

    If your storage node has 4 disks, then
    • Set the capacity to 4
    • Specify 4 separate storagedir arguments, each pointing to a disk
    • Specify corresponding storagedirsize<directory size> argument for each storagedir
    If you do not specify a storage directory explicitly, Replication Nodes use a directory under the root directory. However, for production systems, it is highly recommended to explicitly specify storagedir parameter for each Replication Node, pointing them to separate disks to ensure optimal performance and fault isolation.

    To have your Storage Node host Arbiter Nodes, set the capacity to 0 . A Storage Node with capacity 0 will be allocated as an Arbiter Node whenever required. For more information see Deploying an Arbiter Node Enabled Topology.

    Mandatory: No

  • admindir

    Purpose: The directory path that contains critical administrative information and metadata that is required for the overall functioning and management of the entire data store.

    It is strongly recommended that the admin directory path resolves to a separate disk. Placing the admin directory on a separate disk ensures that the admin process is not competing for I/O resources. It also isolates the impact of a disk failure.

    If you do not specify an explicit directory path for -admindir, the admin files are placed in this directory: $KVROOT/KVSTORE/<SNID>/<AdminId>/

    Mandatory: No

  • admindirsize

    Purpose: The size of the admin storage directory. This is optional but recommended. For more information, see Managing Admin Directory Size.

    Mandatory: No

  • storagedir

    Purpose: A directory path that contains the data and environment (metadata, logs, database files etc.) associated with a replication node. When the capacity parameter is greater than 1, it is recommended that you specify storagedir parameter value for each replication node that the Storage Node hosts. Each directory path should resolve to a separate disk. Placing each replication node on a separate disk ensures that they are not competing for I/O resources. It also isolates the impact of a disk failure to a single location.

    If you do not specify an explicit directory path for storagedir, all data files are directly placed within the $KVROOT directory structure. Typically, the data for replication nodes is placed in the directory path : $KVROOT/KVSTORE/sn<ID>/rn<ID>/

    Mandatory: No

  • storagedirsize

    Purpose: The size of each storage directory. It is strongly recommended that you specify this parameter for each replication node. The Oracle NoSQL Database uses the storage directory size to enforce disk usage limits. When a Storage Node approaches within 5 GB of its configured limit, it automatically suspends write operations to prevent the disk from becoming completely full. This is because a minimum of 5 GB disk space is required by each Storage Node for recovery purposes. For more information, see Managing Storage Directory Sizes.

    Mandatory: No

  • rnlogdir

    Purpose: The directory path that contains the log files associated with a replication node. For capacity values greater than one, specify multiple rnlogdir parameters, one for each replication node that the Storage Node is hosting. It is recommended to place the rnlogdir on a separate disk partition from the storage directory (storagedir). This ensures that the metrics and errors are reported even if the disk partition containing the storage directory fails or becomes full.

    If you do not specify a location for rnlogdir, logs are placed under the $KVROOT/KVSTORE/log directory by default.

    Mandatory: No

  • num_cpus

    Purpose: The total number of processors on the Storage Node available to the replication nodes. This is an optional parameter, used to coordinate the use of processors across replication nodes. The default value for num_cpus is 0. If the value is 0, the database queries the operating system to determine the number of processors on it. Set this parameter manually only if you want to limit the number of CPUs available to the Oracle NoSQL processes. This can be useful in scenarios where you want to reserve some CPUs for other applications running on the same machine.

    Mandatory: No

  • memory_mb

    The total number of megabytes of memory available in the Storage Node. If the value is 0, the data store attempts to determine the amount of memory on the Storage Node, but the value is only available when the JVM used is the Oracle Hotspot JVM. The default value is 0.

    Mandatory: No

    Note:

    For best results, do not specify this parameter. Oracle NoSQL Database will determine the proper value by default. This parameter should be used only for exceptional situations such as when the system is hosting other applications and you want to reserve a specific amount of memory for the NoSQL processes and leave the rest for the other applications. This prevents resource contention and potential out-of-memory errors.

  • force

    Purpose: Bypasses the validation checks and forces the creation of the boot configuration files, even if the value of any of the parameters discussed above ( like port, harange etc) is invalid.

    Mandatory: No

See makebootconfig for more details.