Start a Database

Starting a database starts the main cluster and all worker clusters. Additionally, you can specify to start the nodes if they are offline. The below procedure describes how to start the database.

Prerequisites

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

Procedure

This procedure can be carried out using the RESTful Administration API. For more information, see Administration API.

The examples in this procedure are written using Bash on a Linux terminal. You can also use other interfaces and languages to execute the commands.

Placeholder values are styled as Bash variables, starting with the dollar sign ($) and using UPPERCASE characters. Replace the placeholders with your own values before executing the curl command.

  1. Get information about the database by sending a GET request to the /api/v1/databases endpoint. For example:

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

    The response will include the following:

    • Database ID

    • Database name

    • Database version

    • Provider type

    • Number of clusters in the database

    • Number of clusters running

    • Volumes

    Additional database parameters and hardware details may be included in the response depending on the configuration and platform.

  2. To start the database, send a PUT request to the /ap1/v1/databases/DATABASE_ID/start endpoint.

    For example:

    curl -k -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 database start up, add ?startInstances=true after the endpoint name. For example:

    curl -k -X "PUT" \
    "https://$EXASOL_IP/api/v1/databases/$DATABASE_ID/start?startInstances=true" \
    -H "accept: application/json" \
    -H "Authorization: Basic $AUTH_TOKEN"

Verification

To verify the database is running, send a GET request to the /api/v1/databases endpoint like in step 1. It returns an output similar to the following:

[{"id":"Exasol","name":"Exasol","provider":"aws","clusters":{"total":1,"running":1}}]

If the value for "running" is greater than 0, the database is running.