ロード操作時およびロード操作後の表スペースの状態
ロード・ユーティリティーは、表スペースの状態を使用して、 ロード操作時のデータベースの整合性を保持します。 これらの状態は、データへのアクセスを制御するかユーザー処置を引き出すことによって機能します。
ロード・ユーティリティーは、ロード操作に関係する表スペースを静止 (永続ロックを設定) せず、 COPY NO パラメーターを指定したロード操作に対してのみ表スペースの状態を使用します。
- 通常
「正常」という状態は、表スペースが作成された後の最初の状態であり、現在、表スペースに表れるような (異常な) 状態がないことを示しています。
- ロード進行中
「ロード進行中」という状態は、表スペースに進行中のロードがあることを示しています。 この状態にあると、ロード操作時に従属表のバックアップを行えません。 ロード・ユーティリティーは、リカバリー可能データベースで COPY NO パラメーターを指定した場合のみ表スペースを「ロード進行中」の状態にするため、表スペースの状態は (すべてのロード操作で使用される)「ロード進行中」の表の状態とは異なります。 表スペースはロード操作の間はこの状態のままです。
- バックアップ・ペンディング
リカバリー可能データベースに対してロード操作を実行し、COPY NO パラメーターを指定すると、表スペースは最初のコミット後、「バックアップ・ペンディング」という表スペースの状態になります。 「バックアップ・ペンディング」の状態にある表スペースは更新できません。 表スペースの「バックアップ・ペンディング」状態を解除する唯一の方法は、表スペースをバックアップすることです。 ロード操作をキャンセルしても、表スペースの状態はロード操作の開始時に変更されていてロールバックできないため、表スペースは引き続き「バックアップ・ペンディング」状態のままです。
- リストア・ペンディング
COPY NO オプションを指定してロード操作を正常に実行し、データベースをリストアしてからその操作をロールフォワードすると、関連する表スペースはリストア・ペンディング状態になります。 表スペースを「リストア・ペンディング」状態から解除するには、リストア操作を実行しなければなりません。
表スペースの状態の例
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