Start a Database

This procedure describes how to start a database.

Starting a database starts the main cluster and all worker clusters. You can also specify to start the nodes if they are offline.

Prerequisites

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

Procedure

This procedure can be carried out using the 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 curl 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 that the database is running, send a GET request to the /api/v1/databases endpoint. The returned output should be 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.