Hitachi

Hitachi Advanced Database Setup and Operation Guide


11.17.1 Reason for reorganizing a system table

When an HADB user executes an SQL statement or command on a base table, the relevant system table (base table) might be automatically updated by the HADB server. During this operation, invalid row data might increase in the system table (base table). Invalid row data is not deleted automatically from the disk.

If invalid row data continues to increase in a system table (base table), free space of the disk that stores the system table (base table) becomes insufficient. Eventually, you will not be able to perform operations that cause update of the system table (base table). For example, you will not be able to import data by using background import or merge chunks.

Therefore, you need to regularly reorganize a system table (base table) to delete invalid row data. To reorganize a system table (base table), execute the adbreorgsystemdata command.

The following table describes the timing of when invalid row data increases in a system table (base table).

Table 11‒9: Timing of when invalid row data increases in a system table (base table)

No.

Type of a system table (base table)

Operation that increases invalid row data in a system table (base table)

1

  • STATUS_TABLES

  • STATUS_COLUMNS

  • STATUS_INDEXES

  • Deleting a table or index by a definition SQL statement#

  • Collecting or deleting cost information by the adbgetcst command

2

STATUS_CHUNKS

  • Deleting a multi-chunk table by a definition SQL statement

  • Deleting a chunk by the PURGE CHUNK statement

  • Batch deleting data stored in a multi-chunk table, by the TRUNCATE TABLE statement

  • Importing data to a multi-chunk table by using creation mode (when executing the adbimport command with the -d option specified)

  • Importing data to a multi-chunk table by using background import (when executing the adbimport command for which the -b option is specified and the --status wait option is not specified)

  • Importing data to a multi-chunk table by using addition mode and modifying the comment for a chunk (when executing the adbimport command with the -m option specified)

  • Re-creating an index by the adbidxrebuild command (when executed after the data import to a multi-chunk table by using background import was interrupted)

  • Merging chunks by the adbmergechunk command

  • Setting, modifying, or deleting the comment for a chunk by the adbchgchunkcomment command

  • Changing the chunk status by the adbchgchunkstatus command

3

STATUS_SYNONYM_DICTIONARIES

Registering, updating, or deleting a synonym dictionary by the adbsyndict command

#

When cost information is collected for the processing-target table or index.