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

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

ロード・ユーティリティーは、ロード操作に関係する表スペースを静止 (永続ロックを設定) せず、 COPY NO パラメーターを指定したロード操作に対してのみ表スペースの状態を使用します。

表スペースの状態は、LIST TABLESPACES コマンドを使用することによって検査できます。 表スペースは同時に複数の状態になる場合もあります。 LIST TABLESPACES によって戻される状態は以下のとおりです。
通常

「正常」という状態は、表スペースが作成された後の最初の状態であり、現在、表スペースに表れるような (異常な) 状態がないことを示しています。

ロード進行中

「ロード進行中」という状態は、表スペースに進行中のロードがあることを示しています。 この状態にあると、ロード操作時に従属表のバックアップを行えません。 ロード・ユーティリティーは、リカバリー可能データベースで COPY NO パラメーターを指定した場合のみ表スペースを「ロード進行中」の状態にするため、表スペースの状態は (すべてのロード操作で使用される)「ロード進行中」の表の状態とは異なります。 表スペースはロード操作の間はこの状態のままです。

バックアップ・ペンディング

リカバリー可能データベースに対してロード操作を実行し、COPY NO パラメーターを指定すると、表スペースは最初のコミット後、「バックアップ・ペンディング」という表スペースの状態になります。 「バックアップ・ペンディング」の状態にある表スペースは更新できません。 表スペースの「バックアップ・ペンディング」状態を解除する唯一の方法は、表スペースをバックアップすることです。 ロード操作をキャンセルしても、表スペースの状態はロード操作の開始時に変更されていてロールバックできないため、表スペースは引き続き「バックアップ・ペンディング」状態のままです。

リストア・ペンディング

COPY NO オプションを指定してロード操作を正常に実行し、データベースをリストアしてからその操作をロールフォワードすると、関連する表スペースはリストア・ペンディング状態になります。 表スペースを「リストア・ペンディング」状態から解除するには、リストア操作を実行しなければなりません。

注: Db2® LOAD は、表スペースの状態を 「ロード・ペンディング」 または 「削除ペンディング」に設定しません。

表スペースの状態の例

以下のようにして、入力ファイル (staffdata.del) を表 NEWSTAFF にロードするとします。
update db cfg for sample using logarchmeth1 logretain;
backup db sample;
connect to sample;
create table newstaff like staff;
load from staffdata.del of del insert into newstaff copy no;
connect reset;
さらに、別のセッションを開き、次のコマンドを発行します。
connect to sample;
list tablespaces;
connect reset;
USERSPACE1 (サンプル・データベースのデフォルトの表スペース) は「ロード進行中」の状態になり、最初のコミット後は「バックアップ・ペンディング」の状態にもなります。 ロード操作が終了すると、 LIST TABLESPACES コマンドは、 USERSPACE1 がバックアップ・ペンディング状態になったことを示します。
Tablespace ID                        = 2
Name                                 = USERSPACE1
Type                                 = Database managed space
Contents                             = All permanent data. Large table space.  
State                                = 0x0020    
		Detailed explanation:
		Backup pending