8.4.4 表の再編成時のリロード処理でエラーとなった場合の運用方法

表の再編成時のリロード処理でエラーとなった場合,エラー原因を取り除いてから再度表の再編成(-k rorg)を実行します。

<この項の構成>
(1) 表の再編成時にエラーとなった処理と,再実行時の再開始位置
(2) データ未完状態の表に対するコマンド及びSQLの実行可否
(3) データ未完状態の解除契機
(4) 注意事項

(1) 表の再編成時にエラーとなった処理と,再実行時の再開始位置

表の再編成でエラーとなった場合,表のステータスが「再編成中」となります。表のステータスが再編成中の場合,表の再編成を再実行すると,エラーとなった処理から再開されます。該当するRDエリアが再編成中かどうかは,pddbstのRDエリア単位の論理的解析,又は表単位の解析を実行して,解析結果のStatusを見れば分かります。

(a) LOB列構成基表の再編成,並びにLOB列構成基表,及びLOB列を同時に再編成(-j指定)する場合

表の再編成時にエラーとなった場合に再実行したときの再開始位置を表8-7に示します。なお,LOB列構成基表,及びLOB列の同時再編成は,-jオプションを指定して一つのアンロードデータファイルを使用する場合について説明しています。

pdrorg実行時のオプションの指定:
pdrorg -k rorg 〔-j〕
pdrorg実行時の制御情報ファイルの指定:
unload文

表8-7 表の再編成時にエラーとなった場合に再実行したときの再開始位置(LOB列構成基表の再編成,並びにLOB列構成基表,及びLOB列を同時に再編成(-j指定)する場合)

項番表の再編成時の処理エラー直前の出力メッセージ表のステータス再開始位置
LOB列構成基表LOB列LOB属性
1アンロードアンロード開始712,732項番1
2アンロード完了714,734rc=8項番1
rc=0未かつR未かつR未かつR改竄防止表の場合:
項番3
RRR改竄防止表でない場合:
項番1(表単位,又はRDエリア単位)
項番3(スキーマ単位)
3リロードデータ削除開始出力されません。未かつR未かつR未かつR改竄防止表の場合:
項番3
RRR改竄防止表でない場合:
項番1(表単位,又はRDエリア単位)
項番3(スキーマ単位)
4データ削除完了721未かつR未かつR未かつR項番5
5リロード開始712,732未かつR未かつR未かつR項番5
6リロード完了714,734rc=8未かつR未かつR未かつR項番5
rc=0RRRインデクスが定義されていて,かつ-i cの場合:
項番7
上記以外の場合:
項番1
7インデクスの一括作成インデクスのアンロード開始(再開始時だけ)725RRR項番7
8インデクスの一括作成開始715RRR項番7
9インデクスの一括作成完了716RRR作成されていないインデクスがある場合:
項番7
上記以外の場合:
項番1
(凡例)
未:データ未完状態
R:再編成中
rc:リターンコード
-:通常の状態(再編成前の状態,又は再編成後の状態)
注※
メッセージは省略して表記しています。例えば,712はKFPL00712-I,732はKFPL00732-Iとなります。
(b) LOB列構成基表,及びLOB列を同時に再編成(lobunld文指定)する場合

表の再編成時にエラーとなった場合に再実行したときの再開始位置を表8-8に示します。なお,LOB列構成基表,及びLOB列の同時再編成は,lobunld文を指定してアンロードデータファイル,及びLOBデータのアンロードデータファイルを使用する場合について説明しています。

pdrorg実行時のオプションの指定:
pdrorg -k rorg
pdrorg実行時の制御情報ファイルの指定:
unload文及びlobunld文

表8-8 表の再編成時にエラーとなった場合に再実行したときの再開始位置(LOB列構成基表,及びLOB列を同時に再編成(lobunld文指定)する場合)

項番表の再編成時の処理エラー直前の出力メッセージ表のステータス再開始位置
LOB列構成基表LOB列LOB属性
1LOB列構成基表のアンロードアンロード開始712,732項番1
2アンロード完了714,734rc=8項番1
rc=0未かつR未かつR未かつR改竄防止表の場合:
項番3
RRR改竄防止表でない場合:
項番1
3LOB列構成基表へのリロードデータ削除開始出力されません。未かつR未かつR未かつR改竄防止表の場合:
項番3
RRR改竄防止表でない場合:
項番1
4データ削除完了721未かつR未かつR未かつR項番5
5リロード開始712,732未かつR未かつR未かつR項番5
6リロード完了714,734rc=8未かつR未かつR未かつR項番5
rc=0RRRインデクスが定義されていて,かつ-i cの場合:
項番7
上記以外の場合:
項番1
7インデクスの一括作成インデクスのアンロード開始(再開始時だけ)725RRR項番7
8インデクスの一括作成開始715RRR項番7
9インデクスの一括作成完了716RRR作成されていないインデクスがある場合:
項番7
上記以外の場合:
項番10
10LOB列のアンロードアンロード開始712,732RRR項番10
11アンロード完了714,734rc=8RRR項番10
rc=0R未かつRR改竄防止表の場合:
項番12
RRR改竄防止表でない場合:
項番10
12LOB列へのリロードデータ削除開始出力されません。R未かつRR改竄防止表の場合:
項番12
RRR改竄防止表でない場合:
項番10
13データ削除完了721R未かつRR項番14
14リロード開始712,732R未かつRR項番14
15リロード完了714,734rc=8R未かつRR項番14
rc=0項番1
(凡例)
未:データ未完状態
R:再編成中
rc:リターンコード
-:通常の状態(再編成前の状態,又は再編成後の状態)
注※
メッセージは省略して表記しています。例えば,712はKFPL00712-I,732はKFPL00732-Iとなります。
(c) LOB列だけの再編成をする場合

表の再編成時にエラーとなった場合に再実行したときの再開始位置を表8-9に示します。

pdrorg実行時のオプションの指定:
pdrorg -k rorg
pdrorg実行時の制御情報ファイルの指定:
lobunld文

表8-9 表の再編成時にエラーとなった場合に再実行したときの再開始位置(LOB列だけを再編成する場合)

項番表の再編成時の処理エラー直前の出力メッセージ表のステータス再開始位置
LOB列構成基表LOB列LOB属性
1LOB列のアンロードアンロード開始712,732項番1
2アンロード完了714,734rc=8項番1
rc=0未かつR改竄防止表の場合:
項番3
R改竄防止表でない場合:
項番1
3LOB列へのリロードデータ削除開始出力されません。未かつR改竄防止表の場合:
項番3
R改竄防止表でない場合:
項番1
4データ削除完了721未かつR項番5
5リロード開始712,732未かつR項番5
6リロード完了714,734rc=8未かつR項番5
rc=0項番1
(凡例)
未:データ未完状態
R:再編成中
rc:リターンコード
-:通常の状態(再編成前の状態,又は再編成後の状態)
注※
メッセージは省略して表記しています。例えば,712はKFPL00712-I,732はKFPL00732-Iとなります。
(d) スキーマ単位の再編成をする場合

表の再編成時にエラーとなった場合に再実行したときの再開始位置を表8-10に示します。

pdrorg実行時のオプションの指定:
pdrorg -k rorg -t all

表8-10 表の再編成時にエラーとなった場合に再実行したときの再開始位置(スキーマ単位の再編成をする場合)

項番表の再編成時の処理契機再開始位置
1アンロードアンロード中にエラーとなったとき項番1
2リロードKFPL00722-Iメッセージ出力以降にエラーとなったとき項番2
(e) サーバごとに表の再編成(-gなし)をする場合(HiRDB/パラレルサーバ限定)
pdrorg実行時のオプションの指定:
pdrorg -k rorg
pdrorg実行時の制御情報ファイルの指定:
unload文だけ,lobunld文だけ,又はunload文及びlobunld文

HiRDB/パラレルサーバで,サーバ間分割表に対する表の再編成時のリロード処理でエラーとなったときは,制御情報ファイルのunload文及びlobunld文で指定したサーバごとに(a)~(c)の再開始位置から再実行します。

(2) データ未完状態の表に対するコマンド及びSQLの実行可否

表の再編成時のリロード処理でエラーとなった場合,又は改竄防止表の再編成時にエラーなどによって再編成が完了していない場合,処理対象RDエリアは「データ未完状態」となります。この場合,コマンド及びSQLの実行が一部制限されます。

データ未完状態の表に対するユティリティの実行可否を表8-11に,運用コマンドの実行可否を表8-12に,SQLの実行可否を表8-13に示します。

表8-11 データ未完状態の表に対するユティリティの実行可否

ユティリティ名機能表のステータス
基:-基:未基:-基:-基:未基:未基:-基:未
属:-属:-属:未属:-属:未属:-属:未属:未
L:-L:-L:-L:未L:-L:未L:未L:未
pdloadLOB列構成基表へのデータロード-dあり
-dなし×××××××
LOB列へのデータロード×××××××
LOB列構成基表,及びLOB列への同時データロード-dあり
-dなし×××××××
pdrorg表の再編成(-k rorg)-jありunload文
-jなしunload文
lobunld文
unload文及びlobunld文
表のアンロード(-k unld)
表へのリロード(-k reld)-jありunload文
-jなしunload文
lobunld文
unload文及びlobunld文
インデクスの一括作成(-k ixmk)B-treeインデクス×××××××
プラグインインデクス×××××××
インデクスの再作成(-k ixrc)B-treeインデクス×××××××
プラグインインデクス×××××××
インデクスの再編成(-k ixor)×××××××
pdrbal×××××××
上記以外のユティリティ
(凡例)
基:LOB列構成基表が格納されているRDエリア
属:LOB属性が格納されているRDエリア
L:LOB列が格納されているRDエリア
未:データ未完状態
-:通常の状態(再編成前の状態,又は再編成後の状態)
○:実行できます。
△:オプション,及び制御情報ファイルを変更しない再実行はできます。オプション,及び制御情報ファイルを変更して再実行する場合は,実行エラーとなります。
×:実行できません。

表8-12 データ未完状態の表に対する運用コマンドの実行可否

運用コマンド名条件表のステータス
基:-基:未基:-基:-基:未基:未基:-基:未
属:-属:-属:未属:-属:未属:-属:未属:未
L:-L:-L:-L:未L:-L:未L:未L:未
pdrels改竄防止表を格納するRDエリア××××
××××
L××××
上記以外のRDエリア
上記以外の運用コマンド
(凡例)
基:LOB列構成基表が格納されているRDエリア
属:LOB属性が格納されているRDエリア
L:LOB列が格納されているRDエリア
未:データ未完状態
-:通常の状態(再編成前の状態,又は再編成後の状態)
○:実行できます。
×:実行できません。

表8-13 データ未完状態の表に対するSQLの実行可否

SQL表のステータス
基:-基:未基:-基:-基:未基:未基:-基:未
属:-属:-属:未属:-属:未属:-属:未属:未
L:-L:-L:-L:未L:-L:未L:未L:未
SELECT文
UPDATE文
INSERT文
DELETE文
上記以外のSQL
(凡例)
基:LOB列構成基表が格納されているRDエリア
属:LOB属性が格納されているRDエリア
L:LOB列が格納されているRDエリア
未:データ未完状態
-:通常の状態(再編成前の状態,又は再編成後の状態)
○:実行できます。
△:LOB列又はLOB属性の抽象データ型列を操作する場合,操作対象となるLOB列格納RDエリア又はLOB属性格納RDエリアがデータ未完状態のときは実行できません。

(3) データ未完状態の解除契機

データ未完状態は,次の処理をしたときに解除されます。

(4) 注意事項

  1. 次の場合は,表の再編成(-k rorg)を再実行しても処理が再開されません。この場合,表へのリロード(-k reld)をするか,又はバックアップからの回復をしてください。
    • ログレスモード(-l n指定)の場合
    • オプション,及び制御情報ファイルの指定を変更した場合(-bオプション,及びoption文のtblstatusオペランドを除く)
    • 再実行する前に,該当する表に対して次の操作をした場合(この場合,途中の処理からの再開はしないでアンロード処理から行います)
      ・-d指定のpdloadの実行
      ・表の再編成前に取得したバックアップからRDエリアを回復
      ・表へのリロード(-k reld)の実行
      ・pdmodでのRDエリアの再初期化
      ・PURGE TABLE文の実行
  2. 該当する表の再編成が完了するまで,他ユーザからのpdrorgは実行しないでください(表の再編成の再実行と,通常の表の再編成,表へのリロードなどの同時実行はしないでください)。
  3. インデクスが定義されている表の再編成時,インデクス更新モード(-i s)以外で再実行すると,インデクス情報ファイルが残ることがあります。この場合,表の再編成が完了した後にインデクス情報ファイルを削除してください。
  4. スキーマ単位の再編成を再実行する場合,スキーマ内の表を格納しているRDエリアをpdholdコマンドで閉塞するようにしてください(UAPが再編成中の表をアクセスして待ち状態にならないようにするため,及びUAPで表を更新しないようにするため)。また,スキーマ単位の再編成が完了するまでは,該当するスキーマへの表定義(CREATE TABLE),及び表削除(DROP TABLE)はしないでください。
  5. -rオプションを指定して,かつ-bオプションに非分割キーインデクスを指定して再実行する場合,再開始位置がLOB列構成基表のアンロード,又はLOB列のアンロードとなるときは,再開始できません。この場合,-bオプションを削除して再実行するか,又は表へのリロード(-k reld)を実行してください。
  6. インデクスが定義されている表の再編成(-k rorg)でインデクスの一括作成中に異常終了した場合,インデクス一括作成(-k ixmk)を実行して再編成を完了させると,データ未完状態が解除されません。このような運用をした場合,表の再編成(-k rorg)でoption文のtblstatusオペランドにclearを指定してからpdrorgを実行してデータ未完状態を解除してください。