ロード操作時およびロード操作後の表の状態

ロード・ユーティリティーは、表の状態を使用して、 ロード操作時のデータベースの整合性を保持します。 これらの状態は、データへのアクセスを制御するかユーザー処置を引き出すことによって機能します。

表の状態を判別するには、LOAD QUERY コマンドを発行します。 このコマンドはロード操作の状態も検査します。 表は同時に複数の状態になる場合もあります。 LOAD QUERY によって戻される状態は、以下のとおりです。

正常状態
「正常」という状態は、表が作成された後の最初の状態であり、現在、表に表れるような (異常な) 状態がないことを示しています。
読み取りアクセスのみ
ALLOW READ ACCESSオプションを指定すると、表は読み取りアクセス専用状態になります。 ロード・コマンドを呼び出す前に存在した表のデータが、ロード操作時に読み取り専用モードで使用可能になります。 ALLOW READ ACCESSオプションを指定してロード操作が失敗した場合、ロード操作の前に表に存在していたデータは、失敗後も読み取り専用モードで引き続き使用できます。
ロード中
「ロード進行中」という表の状態は、表に進行中のロードがあることを示しています。 ロード・ユーティリティーは、ロードが正常に完了すると、この過渡状態を解除します。 しかし、ロード操作が失敗または中断されると、表の状態は「ロード・ペンディング」に変わります。
再配分進行中
「再配分進行中」という表の状態は、表に進行中の再配分があることを示しています。 再配分ユーティリティーは、表の処理が正常に完了すると、この過渡状態を解除します。 しかし、再配分操作が失敗または中断されると、表の状態は「再配分ペンディング」に変わります。
ロード・ペンディング
「ロード・ペンディング」という表の状態は、ロード操作が失敗または中断されたことを示しています。 以下のいずれかのステップを行うことにより、「ロード・ペンディング」状態を解除することができます。
  • 失敗の原因に対処します。 例えば、ロード・ユーティリティーがディスク・スペースを使い果たした場合、 表スペースにコンテナーを追加します。 その後、ロード操作を再開します。
  • ロード操作を終了します。
  • ロード操作が失敗した表と同じ表に対してロードREPLACE操作を実行します。
  • 最新の表スペースまたはデータベース・バックアップを指定した RESTORE DATABASE コマンドを使用して、ロード中の表の表スペースをリカバリーしてから、さらにリカバリー・アクションを実行します。
再配分ペンディング
「再配分ペンディング」という表の状態は、再配分操作が失敗または中断されたことを示します。 REDISTRIBUTE CONTINUE または REDISTRIBUTE ABORT 操作を実行して、「再配分保留中」状態を除去することができます。
ロード再始動不可
「ロード再始動不可」の状態の表は部分的にロードされ、ロード再開操作を行うことができません。 表は次の 2 つの状況で「ロード再始動不可」の状態になります。
  • 正常に再開または終了できなかった失敗ロード操作の後ロールフォワード操作を実行した場合
  • 表の状態が「ロード進行中」または「ロード・ペンディング」になっている間に行われたオンライン・バックアップからリストア操作を実行した場合
表は「ロード・ペンディング」状態にもなります。 表の「ロード再始動不可」の状態を解除するには、LOAD TERMINATE または LOAD REPLACE コマンドを発行します。
SET INTEGRITY ペンディング
「SET INTEGRITY ペンディング」という状態は、ロードされた表に未確認の制約があることを示しています。 ロード・ユーティリティーは、制約のある表でロード操作を開始する際に、表をこの状態にします。 表の SET INTEGRITY ペンディング状態を解除するには、SET INTEGRITY ステートメントを使用してください。
タイプ 1 索引
「タイプ 1 索引」という状態は、表が現在タイプ 1 索引を使用していることを示します。 タイプ 1 索引は、バージョン 9.7 以降ではサポートされなくなりました。 タイプ 2 索引への変換は、バージョン 10 へアップグレードする前に行う必要があります。 それ以外の場合、表が最初にアクセスされるときに、タイプ 1 索引が自動的にタイプ 2 索引として再作成されます。

データベースをアップグレードする前に type-1 索引を変換する方法については、type-1 索引から type-2 索引への変換 トピックを参照してください。

使用不可
リカバリー不能のロード操作からロールフォワードを実行すると、 表は「使用不可」状態になります。 この状態の表は使用することができません。ドロップするか、バックアップからリストアする必要があります。

複数の状態にある表の例

以下のように、大量のデータを含む入力ファイル(staffdata.del)を表 NEWSTAFF にロードするとします。
connect to sample;
create table newstaff like staff;
load from staffdata.del of del insert into newstaff allow read access;
connect reset;
さらに、別のセッションを開き、次のコマンドを発行します。
connect to sample;
load query table newstaff;
connect reset;
LOAD QUERY コマンドを実行すると、NEWSTAFF 表の状態が「読み取りアクセスのみ」と「ロード進行中」であることが分かります。
Tablestate:
	Load in Progress
	Read Access Only