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$KVROOTdisk space requirements can be reduced if thestoragedirparameter is used to store the data at a different location outside the$KVROOTdirectory.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,5020Mandatory: 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
noneindicates that security will not be in use. - Specifying
configureindicates that you want to configure a secure data store. Themakebootconfigutility will then invoke thesecurityconfigutility as part of its operation. - Specifying
enableindicates 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
- Specifying
-
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
capacityto 4 - Specify 4 separate
storagedirarguments, each pointing to a disk - Specify corresponding
storagedirsize<directory size>argument for eachstoragedir
storagedirparameter 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
- Set the
-
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
capacityparameter is greater than 1, it is recommended that you specifystoragedirparameter 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$KVROOTdirectory 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
rnlogdirparameters, one for each replication node that the Storage Node is hosting. It is recommended to place thernlogdiron 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/logdirectory 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_cpusis 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.