Hitachi

Hitachi Advanced Database Setup and Operation Guide


15.10.1 Steps to take when unfinished status is applied to a text index

If you define text index for a base table to which segments for storing rows are assigned, that text index is placed in unfinished status (a status in which no text index data can be created). For details about the status in which segments for storing rows are assigned, see 5.4.3 Notes on defining text indexes (unfinished status of text indexes).

When text indexes have been placed in unfinished status, the following operations will terminate in an error.

■ Operations that terminate in an error
  • Executing a SELECT statement that uses an unfinished text index

  • Executing an INSERT, UPDATE, or DELETE statement on a base table for which an unfinished text index is defined

  • Executing the adbimport command without the -d option specified on a base table for which an unfinished text index is defined

  • Executing the adbmergechunk command on a base table for which an unfinished text index is defined

  • Executing the adbunarchivechunk command on an archivable multi-chunk table for which a text index in unfinished status is defined

Note

The TRUNCATE TABLE statement can be executed. If the TRUNCATE TABLE statement is used to delete all rows from a base table, text index data is also deleted, and therefore, the text index is released from unfinished status.

A text index is placed in unfinished status for the following reasons:

How you release a text index from unfinished status depends on the cause of the unfinished status.

Organization of this subsection

(1) If you define a text index for a base table to which segments for storing rows are assigned

  1. Check whether the text index is in unfinished status.

    You can use the adbdbstatus command to check whether a text index is in unfinished status. See 10.9.4 Checking the status and usage of a text index.

    If the text index is in unfinished status, go to step 2.

  2. Release the text index from unfinished status.

    Execute the adbidxrebuild command on the base table for which the unfinished text index was defined.

    Rebuilding a text index by executing the adbidxrebuild command releases the text index from unfinished status.

    If the CREATE INDEX statement is executed after the adbimport command has terminated abnormally, the text index might be placed in unfinished status. In this case, execute the adbidxrebuild command with the --force option specified. If the adbidxrebuild command is executed without the --force option specified, an error will result.

    For details about the adbidxrebuild command, see adbidxrebuild (Rebuild Indexes) in the manual HADB Command Reference.

(2) When the adbimport or adbidxrebuild command has terminated abnormally

  1. Check whether the text index is in unfinished status.

    You can use the adbdbstatus command to check whether a text index is in unfinished status. See 10.9.4 Checking the status and usage of a text index.

    If the text index is in unfinished status, go to step 2.

  2. Release the text index from unfinished status.

    Re-execute the command that terminated abnormally (adbimport or adbidxrebuild) on the base table for which the unfinished text index was defined.

    When the re-executed command terminates normally, the text index will have been released from unfinished status.