Start a Database

This section explains how to start a database.

This procedure can be carried out using the Administration API or ConfD.

Prerequisites

The database must be stopped. For more information, see Stop a Database.

Procedure - Administration API

The following examples use curl in a Linux terminal to send REST calls to endpoints in the Administration API. You can also use other interfaces and languages to interact with the API. For more information, see Administration API.

Placeholder values are styled as Bash variables, for example: $EXASOL_IP. Replace the placeholders with your own values.

The option --insecure or -k tells curl to bypass the TLS certificate check. This option allows you to connect to a HTTPS server that does not have a valid certificate. Only use this option if certificate verification is not possible and you trust the server.

  1. To get the database name, send a GET request to the /api/v1/databases endpoint.

    curl --insecure -X "GET" \
    "https://$EXASOL_IP:4444/api/v1/databases" \
    -H "accept: application/json" \
    -H "Authorization: Basic $AUTH_TOKEN"

    The response will include the database ID and name. For example:

    [
      {
        "id": "Exasol",
        "name": "Exasol",
    ...
  2. To start the database, send a PUT request to the /api/v1/databases/DATABASE_ID/start endpoint.

    curl --insecure -X "PUT" \
    "https://$EXASOL_IP:4444/api/v1/databases/$DATABASE_ID/start \
    -H "accept: application/json" \
    -H "Authorization: Basic $AUTH_TOKEN"

    If the database nodes are offline and you want to start the nodes before the database, add ?startInstances=true after the endpoint.

    curl --insecure -X "PUT" \
    "https://$EXASOL_IP:4444/api/v1/databases/$DATABASE_ID/start?startInstances=true" \
    -H "accept: application/json" \
    -H "Authorization: Basic $AUTH_TOKEN"
  3. To verify that the database is running, send a GET request to the /api/v1/databases endpoint.

    If the value for running in the response is greater than 0, the database is running. For example:

    [
      {
        "id": "Exasol",
        "name": "Exasol",
        "provider": "unknown",
        "version": "8.23.1",
        "ram": 22376,
        "auditing": true,
        "clusters": {
          "total": 1,
          "running": 1
    ...

Procedure - ConfD

The following examples use ConfD through the command-line tool confd_client, which is available on all database nodes. For more information, see ConfD.

  1. Connect to EXAClusterOS (COS) using c4 connect -t <DEPLOYMENT>[.<NODE>]/cos. For example:

    c4 connect -t 1/cos

    In most cases it does not matter on which node you access ConfD. If you do not specify a node, c4 will connect to the first active node in the deployment. The command prompt in COS indicates which node you are connected to:

    [root@n11 ~]#

    For more information about how to use c4 connect, see How to use c4.

  2. To find the name of the database, use the ConfD job db_list. For example:

    confd_client db_list
    - MY_DATABASE
  3. To start the database, use the ConfD job db_start. For example:

    confd_client db_start db_name: MY_DATABASE
  4. To verify that the database is running, use the ConfD job db_state. For example:

    confd_client db_state db_name: MY_DATABASE
    ...
    Result:
    'running'