checktable

Checks the integrity of the table data in the specified date range. Administrative privileges are required to execute this command.

Syntax

checktable [from=yyyyMMdd] [to=yyyyMMdd] [trace=BOOL] [TABLE, ...]
Optional Parameters
from=yyyyMMdd
Specify the start date (check including the start date) of the integrity check in the form of yyyyMMdd.
to=yyyyMMdd
Specify the last date (check including the last date) of the integrity check in the form of yyyyMMdd.
trace=BOOL
If you set it to t, the command also returns normal data block information that has no abnormality in integrity. If you do not use this option or set it to f, the command only displays data block information with corrupted integrity.
TABLE, ...
Specify the tables to be checked for their integrity by separating them using commas (,). If you do not specify a table, the command checks the integrity of all tables for which the user is granted read permission. The table name supports wildcards (*).

Description

An integrity check is performed only if the target table uses an "encryption profile in which a digest algorithm is set". The tables that do not contain the HMAC signature required for the integrity check are automatically excluded from the check.

The fields displayed when executing the command are as follows.

  • table: Table name
  • day: Date partition name
  • block_id: Block ID
  • last_block_id: The last block ID, which appears only if the integrity is corrupted
  • signature: The hash value calculated at the time of data creation
  • hash: The hash value calculated at the time of the integrity check. If this value differs from the signature field value, it is considered a tampered one.
  • msg: Displayed as a valid, modified, or corrupted string. If the data is tampered or corrupted, it is skipped because the data block cannot be read when executing the data retrieval query.
    • valid: Integrity is validated.
    • modified: Data is tampered.
    • corrupted: The file structure is corrupted.
Note
If no abnormality is found during the integrity check, there is no specific output result.

Usage

  1. Check the integrity of data for all tables of September 2014.

    checktable from=20140901 to=20140930 *
    
  2. Check the Integrity of all table data starting with syslog_.

    checktable syslog_*