Start a Database

This section explains how to start a database.

This procedure can be carried out using either 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 on 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 uses a self-signed certificate or a certificate that is not valid. 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/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/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/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 accessible on all database nodes. You can also access ConfD through XML-RPC in your own Python programs. For more information, see ConfD.

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

    confd_client -c db_list
    - Exasol
  2. To start the database, use the ConfD job db_start. For example:

    confd_client -c db_start -a 'db_name: Exasol'
  3. To verify that the database is running, use the ConfD job db_state. For example:

    confd_client -c db_state -a 'db_name: Exasol'
    ...
    Result:
    'running'