Logs for SQL Processes

This article explains how to collect logs for SQL processes.

If you open a support case because you are experiencing problems with a specific SQL statement, you need to provide log files for the SQL processes on the database for the time period when the problem occurred.

In on-premises deployments of Exasol 2025.1 and later you can use Exasol Admin to create an archive with logs and other information to include with your support case. For other versions of Exasol you must use EXAsupport.

Prerequisites

You must have enough free disk space for the logs. For more information, see EXAsupport.

Procedure

This procedure uses the c4 and confd_client command-line tools in a Linux terminal. To learn more about these tools, see Exasol Deployment Tool (c4) and ConfD.

  1. You will need the play ID of the deployment in the following steps. To find out the play ID, use c4 ps.

    Example:
    Copy
    ./c4 ps
          N  PLAY_ID   NODE  MEDIUM  INSTANCE     DB_VERSION  EXTERNAL_IP     INTERNAL_IP  STAGE  STATE    UPTIME    TTL
      ┌─  1  c3275f84  11    host    -            2025.1.0    203.0.113.11    10.0.0.11    d      -        03:50:12  +∞
      │   1  c3275f84  12    host    -            2025.1.0    203.0.113.12    10.0.0.12    d      -        03:50:13  +∞
      │   1  c3275f84  13    host    -            2025.1.0    203.0.113.13    10.0.0.13    d      -        03:50:13  +∞
      └─  1  c3275f84  14    host    -            2025.1.0    203.0.113.14    10.0.0.14    d      -        03:50:13  +∞
  2. Connect to the cluster operating system (COS) using c4 connect -i PLAY_ID -s cos.

    Example:
    Copy
    ./c4 connect -i c3275f84 -s cos

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

  3. To find the database name when you are connected to COS, use the ConfD job db_list.

    Example:
    Copy
    confd_client db_list
    - MY_DATABASE
  4. To collect logs for SQL processes, use exasupport -x 2.

    Specify a start date (-s) and end date (-t) using the format YYYY-MM-DD.

    Specify the database name with the option -e. If the database name is omitted, logs are collected from all databases.

    To collect logs for SQL processes in a specific session, use exasupport -i with the ID of the session.

    In Exasol versions prior to 8.25.0, you can only collect SQL logs for a specific session on the day that the session occurred. Later versions do not have this limitation.

    Examples:

    To collect information about all SQL processes in the database MY_DATABASE:

    Copy
    exasupport -x 2 -s 2022-08-11 -t 2022-08-11 -e MY_DATABASE

    To collect information from a specific session in the database MY_DATABASE:

    Copy
    exasupport -i SESSION_ID -s 2022-08-11 -t 2022-08-11 -e MY_DATABASE

    If a file was successfully created, EXAsupport returns a success message with the file name.

    Example:
    Copy
    Successfully stored debug information into file /exa/tmp/support/exacluster_debuginfo_2022_08_11-23_27_20.tar.gz

  5. Use Control+D or type exit to disconnect from COS.

  6. Copy the file to your local computer by connecting to COS and using the cat command:

    Copy
    ./c4 connect -t <DEPLOYMENT>.<NODE>/cos -- "cat /exa/tmp/support/$FILENAME" > $FILENAME
    Example:
    Copy
    ./c4 connect -t 1.11/cos -- "cat /exa/tmp/support/my_log" > my_log

To learn more about how to use EXAsupport, see EXAsupport.

Verification

To verify that the file was successfully copied, use the ls command in the target folder on your local machine.

Example:
Copy
ls -lahtr ~/mylogs | grep exacluster_debuginfo
-rwxr-xr-x  1 user group 9.8K Sep 20 17:38 exacluster_debuginfo_2022_08_11-23_27_20.tar.gz