Starting a Storage Manager (SM)

An SM may have already been started when you created the database. For more information, see Creating a Database. Having created an archive and a database, you may start an SM using the nuocmd start process command.

nuocmd start process --db-name <database name> --engine-type SM  --archive-id <archive ID> --server-id <server ID>

The nuocmd start process command can be used to explicitly start an SM. You can also start all non-running SMs implicitly using the nuocmd start database command. For more information, see Restarting a Database.

An SM serving a storage group SG may only be started if one or both of the following are true:

  1. One or more SMs serving SG are already in the RUNNING state.

  2. There are no TEs in the RUNNING state.

An error such as the following is generated if the condition above is not met:

EXIT: SM serving storage group 'SG1' attempting to join a database containing TEs while the storage group is offline

In such cases, shut down all TEs before starting the SM.


The following example shows how to request an SM on the archive object already created, see Creating an Archive by specifying --archive-id 0 (which is bound to nuoadmin-0).

nuocmd start process --db-name hockey --engine-type SM --archive-id 0 --server-id nuoadmin-0
Process(archive_id=0, db_name=hockey, durable_state=REQUESTED, engine_state=UNKNOWN, engine_type=SM, labels={}, options={log-over-conn: enable, verbose: error,warn, database: hockey, region-name: Default, engine-type: SM, archive-id: 0, geo-region: 0, commit: safe, archive: /var/opt/nuodb/production-archives/hockey}, region_name=Default, server_id=nuoadmin-0, start_id=1)

The nuocmd start process command invocation above specifies:
- The name of the database where the SM is to be started (hockey).
- The type of process to be started (SM).
- The archive ID of the archive previously created (0).
- The NuoDB Admin server where the SM is to started (nuoadmin-0).