Hitachi

Hitachi Advanced Database Setup and Operation Guide


15.11.1 Steps to take when unfinished status is applied to a range index

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

When a range index is placed in unfinished status, the following operations end in an error:

■ Operations that end in an error
  • Executing the SELECT statement using an unfinished range index

  • Executing the INSERT or UPDATE statement on a table for which an unfinished range index is defined

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

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

  • Executing the adbunarchivechunk command on an archivable multi-chunk table for which a range 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, range index data is also deleted, and therefore, the range index is released from unfinished status.

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

A range index goes into unfinished status for one of the following reasons:

To release the range index from unfinished status, execute the adbidxrebuild command on the base table for which the unfinished range index is defined.

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

If the CREATE INDEX statement is executed after the adbimport command has terminated abnormally, the range 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.