Previous Next JavaScript must be enabled to correctly display this content

## makebootconfig

    java -Xmx64m -Xms64m
    -jar $KVHOME/lib/kvstore.jar makebootconfig [-verbose]
    -root <rootDirectory> -host <hostname> -harange <startPort,endPort>
    -port <port> [-config <configFile>]
    [-store-security <none | configure | enable> ]
    [-noadmin]
    [-admindir <directory path>]
    [-admindirsize <directory size>]
    [-storagedir <directory path>]
    [-storagedirsize <directory size>]
    [-rnlogdir <directory path>]
    [-capacity <n_rep_nodes>]
    [-storage-type <HD | SSD | NVME | UNKNOWN>]
    [-num_cpus <ncpus>][-memory_mb <memory_mb>]
    [-servicerange <startPort,endPort>]
    [-admin-web-port <admin web service port>]
    [-hahost <haHostname>]
    [-secdir <security dir>] [-pwdmgr {pwdfile | wallet | <class-name>}]
    [-kspwd <password>]
    [-external-auth {kerberos}]
      [-krb-conf <kerberos configuration>]
      [-kadmin-path <kadmin utility path>]
      [-instance-name <database instance name>]
      [-admin-principal <kerberos admin principal name>]
      [-kadmin-keytab <keytab file>]
      [-kadmin-ccache <credential cache file>]
      [-princ-conf-param <param=value>]*
    [-security-param <param=value>]*
    [-mgmt {jmx|none}]
    [-dns-cachettl <time in sec>]
          [-force]

where:

- `-capacity <n_rep_nodes>` The total number of Replication Nodes a Storage Node can support. The value defaults to "1".

  If capacity is set to 0, then this Storage Node may be used to host Arbiter Nodes.

- `storage-type [HD | SSD | NVME | UNKNOWN]` Specifies the type of disk on which the storage directories reside. You can specify storage type only for a Storage Node and not for replication nodes. You can set one value for this parameter for a Storage Node. The valid values are HD, SSD, NVME and UNKNOWN.

  Note:

  The parameters `storagedir` and `storagedirsize` are specific to every replication node, whereas storage-type is specific to a Storage Node.
  Storage-type parameter should be used when the data store is unable to determine the type of storage. If the data store makes an incorrect guess, then it can lead to poor performance. Here are two possible situations:
  - Linux Logical Volumes: The data store may be unable to detect the disk type when the disk is used as part of a logical volume. This problem may also occur if disks are mounted using non-standard device names. The storage-type should be specified to resolve this.
  - Network Attached Storage (NAS): If using NAS, the system can't identify the underlying storage type and it defaults to HD, which can create performance issues. If the destination disk is known (SSD or NVME), you can improve the performance by specifying this in the `storage-type` parameter in the `makebootconfig` utility.
  You can use the ping command from the Admin CLI to see which storage-type the data store has detected. Here is an example (using a host with a hard drive):

      kv-> ping
      [...]
          Rep Node [rg1-rn1]
          Status: RUNNING,MASTER sequenceNumber: 51 haPort: 5003
          availableStorageSize: 9 GB
          storageType: HD (default for UNKNOWN)
          serviceStartTime: 2024-04-05 12:55:04 UTC
          stateChangeTime: 2024-04-05 12:55:05 UTC

- `-config <configFile>` Only specified if more than one Storage Node Agent process will share the same root directory. This value defaults to `config.xml`.

- `-dns-cachettl <time in sec>` Specifies the number of seconds that Replication Nodes should cache host name to IP address mappings. The default value is -1, which means mappings should be cached indefinitely. A value of 0 means mappings should not be cached. The value of this flag is used to set the `networkaddress.cache.ttl` and `networkaddress.cache.negative.ttl` security properties.

- `-external-auth {kerberos}` Specifies Kerberos as an external authentication service. If no keytab or credential cache has been specified on the command line, an interactive version of the `securityconfig` utility will run.

  This flag is only permitted when the value of the `-store-security` flag is specified as configure or enable.

  To remove Kerberos authentication from a running store, set the value of the `userExternalAuth` security.xml parameter to `NONE`.

  For more information on Kerberos, see Kerberos Authentication Service in the Security Guide.

  where `-external-auth` can have the following flags:

  - `-admin-principal <kerberos admin principal name>`

    Specifies the principal used to login to the Kerberos admin interface. This is required while using kadmin keytab or password to connect to the admin interface.

  - `-kadmin-ccache <credential cache file>`

    Specifies the complete path name to the Kerberos credentials cache file that should contain a service ticket for the kadmin/ADMINHOST. `ADMINHOST` is the fully-qualified hostname of the admin server or kadmin/admin service.

    If not specified, the user is prompted to enter the password for principal while logging to the Kerberos admin interface. This flag cannot be specified in conjunction with the `-kadmin-keytab` flag.

  - `-kadmin-keytab <keytab file>`

    Specifies the location of a Kerberos keytab file that stores Kerberos admin user principals and encrypted keys. The security configuration tool will use the specified keytab file to login to the Kerberos admin interface.

    The default location of the keytab file is specified by the Kerberos configuration file. If the keytab is not specified there, then the system looks for the file `user.home/krb5.keytab`.

    You need to specify the `-admin-principal` flag when using keytab to login to the Kerberos admin, otherwise the correct admin principal will not be recognized. This flag cannot be specified in conjunction with the `-kadmin-ccache` flag.

  - `-kadmin-path <kadmin utility path>`

    Indicates the absolute path of the Kerberos kadmin utility. The default value is `/usr/kerberos/sbin/kadmin`.

  - `-krb-conf <kerberos configuration>`

    Specifies the location of the Kerberos configuration file that contains the default realm and KDC information. If not specified, the default value is `/etc/krb5.conf`.

  - `-princ-conf-param <param=value>*`

    A repeatable argument that allows configuration defaults to be overridden.

    Use the `krbPrincValidity` parameter to specify the expiration date of the Oracle NoSQL Database Kerberos service principal.

    Use the `krbPrincPwdExpire` parameter to specify the password expiration date of the Oracle NoSQL Database Kerberos service principal.

    Use the `krbKeysalt` parameter to specify the list of encryption types and salt types to be used for any new keys created.

- `-force` Optionally specified to force generating the boot configuration files even if boot config verification finds any invalid parameters.

- `-hahost <haHostname>` Can be used to specify a separate network interface for store replication traffic. This defaults to the hostname specified using the -host flag.

  The host name specified here must be resolvable using DNS or the `/etc/hosts` file on any machine running client code that wants to connect to the node.

- `-harange <startPort,endPort>` A range of free ports that the Replication Nodes and Admins use to communicate among themselves. These ports should be sequential. You must assign at least as many ports as the specified capacity for this node, plus an additional port if the node hosts an Admin.

- `-host <hostname>` Identifies a host name associated with the node on which the command is run. This hostname identifies the network interface used for communication with this node.

  The host name specified here must be resolvable using DNS or the `/etc/hosts` file on any machine running client code that wants to connect to the node.

- `-kspwd<password>` For script-based configuration you can use this option to allow tools to specify the keystore password on the command line. If it is not specified, the user is prompted to enter the password.

- `-memory_mb <memory_mb>` The total number of megabytes of memory available in the machine. If the value is 0, the store attempts to determine the amount of memory on the machine, but the value is only available when the JVM used is the Oracle Hotspot JVM. The default value is "0".

  For best results, do not specify this parameter. Oracle NoSQL Database will determine the proper value by default. This parameter should be used sparingly, and only for exceptional situations.

- `-num_cpus <ncpus>` The total number of processors on the machine available to the Replication Nodes. If the value is 0, the system attempts to query the Storage Node to determine the number of processors on the machine. This value defaults to "0".

  For best results, do not specify this parameter. Oracle NoSQL Database will determine the proper value by default. This parameter should be used sparingly, and only for exceptional situations.

- `-port <port>` The TCP/IP port on which Oracle NoSQL Database should be contacted. Sometimes referred to as the registry port. This port must be free on the node on which this command is run.

- `-pwdmgr [ pwdfile | wallet ]`

  Indicates the password manager mechanism used to hold passwords that are needed for access to keystores, and so on.

  where `-pwdmgr` has the following options:

  - `-pwdmgr pwdfile`

    Indicates that the password store is a read-protected clear-text password file. This is the only available option for Oracle NoSQL Database CE deployments. You can specify an alternate implementation.

  - `-pwdmgr wallet`

    Specifies Oracle Wallet as the password storage mechanism. This option is only available in the Oracle NoSQL Database EE version.

- `-root <rootDirectory>` Identifies where the root directory should reside.

- `-secdir <security dir>`

  Specifies the name of the directory within the KVROOT that will hold the security configuration. This must be specified as a name relative to the specified secroot. If not specified, the default value is `security`.

- `-security-param <param=value>*`

  A repeatable argument that allows configuration defaults to be overridden.

  Use the `krbServiceName` parameter to specify the service name of the Oracle NoSQL Database Kerberos service principal.

  Use the `krbServiceKeytab` parameter to specify the keytab file name in security directory of the Oracle NoSQL Database Kerberos service principal.

- `-servicerange <startPort,endPort>` A range of ports that may be used for communication among administrative services running on a Storage Node and its managed services. This parameter is optional and is useful when services on a Storage Node must use specific ports for firewall or other security reasons. By default the services use anonymous ports. The format of the value string is "startPort,endPort."

- `-admin-web-port <admin web service port>` The TCP/IP port on which the admin web service should be started. If not specified, the default port value is `–1`. If a positive integer number is not specified for `-admin-web-port`, then admin web service does not start up along with the admin service. See REST API for Administering Oracle NoSQL Database.

- `-noadmin` Specifies to disable the bootstrap admin service for SNA.

- `-admindir <path>` Specify a path to the directory to be used to store the environment associated with an Admin Node. If no directory is specified, Admin Nodes use a directory under the root directory.

- `-admindirsize <directory size>` Specify the size of the admin storage directory identified by`-admindir`. This parameter is optional. See Managing Admin Directory Size.

  The value specified for this parameter must be a long, followed optionally by a unit string. Accepted unit strings are: KB, MB, and GB, corresponding to 1024, 1024^2, and 1024^3 respectively. Acceptable strings are case insensitive. Valid delimiters between the long value and the unit string are " ", "-", or "_". If you specify the delimiter as " ", your value should be enclosed in double quotes.

  For example:

      -admindirsize "200 MB"
      -admindirsize 1_gb
      -admindirsize 3000-Mb

- `-storagedir <path>` Specifies a path to the directory that a Replication Node will use for storage. If your Storage Node will host more than one (1) replication node, specify this argument once for each Replication Node, being sure that the number of arguments does not exceed the Storage Node capacity.

  If you do not specify a storage directory explicitly, Replication Nodes use a directory under the root directory. Be sure to match the number of `-storagedir` arguments to the value of the capacity argument. For example, if your Storage Node hosts four disks, and you are using one disk for each replication node, specify a capacity of four, and have four `-storagedir` arguments, each with a corresponding `-storagedirsize <directory size>` value.

- `-storagedirsize <directory size>` Specifies the size of the directory identified by each `-storagedir` argument. While this parameter is optional, we strongly recommend that you specify its value, since the system takes the `-storagedirsize <directory size>` into consideration when determining store topology. For example, if you have some Storage Nodes each with smaller disk capacity than other store SNs, the system arranges to store less data on those SNs by adjusting partition distribution to shards to match the storage capacity. See Managing Storage Directory Sizes for details.

  Further, it is an error to specify the `-storagedirsize <directory size>` parameter for some named storage directories, but not all.

  Specify the `-storagedirsize <directory size>` value as a long, optionally followed by a unit string. The accepted unit strings are: KB, MB, GB, and TB, corresponding to 1024, 1024^2, 1024^3, 1024^4, respectively. Acceptable strings are case insensitive. Valid delimiter characters between the long value and the unit string are " ", "-", or "_". If you specify the delimiter as " ", your value should be enclosed in double quotes.

  For example:

      -storagedirsize "200 MB"
      -storagedirsize 4_tb
      -storagedirsize 5000-Mb

  Note:

  If you specify the `-storagedir` parameter, but not `-storagedirsize`, `makebootconfig` displays a warning. We strongly recommend specifying both parameters.

- `-rnlogdir <path>` Specify a path to the directory to be used for storing the Replication Node log files. This flag may be used more than once in the command to specify multiple Replication Node log directories, but the number should not exceed the capacity for the node.

  If no directory is specified, by default, the logs are stored under the root directory.

- `-store-security [none | configure | enable]` Specifies if security will be used or not. If `-store-security none` is specified, no security will be in use. If `-store-security configure` is specified, security will be used, and the makebootconfig process invokes the security configuration utility as part processing. If `-store-security enable` is specified, security will be used. You will need to configure security either by utilizing the security configuration utility or by copying a previously created configuration from another system.

  Note:

  The `-store-security` command is optional. Even if the user does not specify `–store-security`, security is enabled by default. The user must run `securityconfig` utility to create the security folder before starting up the storage node agent.

- `-mgmt {jmx|none}`

  Specifies the type of monitoring to be enabled for the Storage Node . This parameter is optional. The default value is none when monitoring is disabled. Use this parameter to make Java Management Extensions (JMX) agents available for monitoring.

  If you specify `jmx`, JMX interfaces will be used for monitoring the Storage Node and any NoSQL components like Replication Nodes, Admin Node and Storage Node Agent hosted on that Storage Node. JMX agents in Oracle NoSQL Database are read-only interfaces. These interfaces let you poll a Storage Node for information about the Storage Node and about any Replication Nodes or Admins that the Storage Node hosts. The information available from polling includes the service status (RUNNING, STOPPED, UNREACHABLE etc.), operational parameters, and performance metrics. Also, JMX can be used to monitor Arbiter Nodes.

  JMX agents also deliver event traps and notifications for particular events. For example, JMX sends notifications for every service status state change, and any performance limits that the store exceeds. You can get the total number of operation requests using the metric `TotalReq` and the metric `TotalOps` gives the total number of records returned or processed. See Monitoring for Storage Nodes for the definitions of the events available for monitoring .

Creates a configuration file used to start a not-yet-deployed Storage Node to be used in an instance of Oracle NoSQL Database. The file cannot pre-exist. To create the initial "boot config" file used to configure the installation see Installation Configuration Parameters.

You can change parameters after setting them with the `makebootconfig` utility. The commands to use are `change-policy —params` and `plan change-parameters –params`. Changing parameters may require restarting a node. For more information, see CLI Command Reference.