5.12.2 注意事項
- 〈この項の構成〉
-
(1) ユティリティ実行後の結果について
pdloadの結果は,pddbstで確認できます(UAPの実行,又はpdrorgでのアンロードでも確認できます)。また,pdloadの処理が終了した場合は,リターンコードが返ります。pdloadのリターンコードと,監査証跡表にpdloadを実行した場合のリターンコードを次の表に示します。
リターンコード |
意味 |
対処方法 |
---|---|---|
0 |
正常終了。 入力データファイル中のすべてのデータをデータロードしました。 |
なし。 |
正常終了。 入力データファイルの全データを,分割入力データファイルに出力しました。 |
分割入力データファイルを使用して,RDエリア単位にデータロードをしてください。 |
|
4 |
入力データのエラー。 入力データファイル中の一部のデータにエラーがあるため,データロードの処理をスキップしました。 |
エラー情報ファイルを参照し,入力データファイルのエラーデータを修正してから,再度データロードを実行してください。 |
入力データのエラー。 入力データファイル中の正常なデータは分割入力データファイルに出力しましたが,一部のエラーデータは分割入力データファイルに出力していません(-eオプション指定時は,エラーデータ検知時点まで分割入力データファイルに出力)。 |
エラー情報ファイルを参照し,入力データファイルのエラーデータを修正してから,再度分割入力データファイルを作成してください。 |
|
8 |
入力データエラー。 option文のdataerrオペランドを指定した場合は,入力データファイル中にエラーがあるため,データロード処理をロールバックしました。 |
エラーの入力データを修正して,再度データロードを実行してください。 |
キー重複エラー。 インデクスの一括作成中にキー重複エラーを検知しました。 |
バックアップからDBを回復して,エラーの入力データを修正してください。その後,再度データロードを実行してください。 |
|
異常終了。 エラーが発生したため,データロードの処理を途中で終了しました。 |
エラー原因を取り除いて,再度データロードを実行してください。 |
|
異常終了。 入力データファイルのデータを,分割入力データファイルに出力できませんでした。 |
エラーメッセージを参照してエラーの原因を取り除いて,再度分割入力データファイルを作成してください。 |
リターンコード |
意味 |
対処方法 |
---|---|---|
0 |
正常終了。 srcuoc文に指定した監査証跡ファイルの全世代のデータを監査証跡表にデータロードしました。 |
なし。 |
4 |
警告終了。 srcuoc文に指定した監査証跡ファイルの中で,データロード待ち状態のファイルは監査証跡表にデータロードしましたが,閉塞又はデータロード済み状態のファイルはデータロードの処理をスキップしました。 |
監査証跡ファイルが閉塞状態でスキップした場合,閉塞の原因を取り除いて,再度データロードを実行してください。 監査証跡ファイルがデータロード済み状態でスキップした場合,通常はデータロード済みのため対処は不要です。あえてデータロードする必要があるときは,srcuoc文のmodeオペランドにforceを指定して再度実行してください。 |
8 |
異常終了。 エラーが発生したため,データロードの処理を途中で終了しました。 |
エラー原因を取り除いて,再度データロードを実行してください。 |
(2) ユティリティ実行中の処理の中断について
pdload実行中に処理を中断したい場合は,pdcancelコマンドを使用します。なお,pdloadが無応答障害(定例ジョブなど,一定時間でデータロード処理が終わるはずなのに終わらない)と判断して強制終了させる場合は,pdlsコマンド(-d rpc -a指定)の表示結果をリダイレクトでファイルに取得してください。
この場合,作成モード(-dオプション指定)でpdloadを実行しているときは,表の格納データはすべて削除されます。また,追加モード(-dオプションなし)でpdloadを実行しているときは,処理がロールバックされます。
再編成時期予測機能を使用している場合,pdloadをシグナル割り込みで強制終了すると,運用履歴表が更新できません。再編成時期予測機能を使用している場合にpdloadを終了させるときは,必ずpdcancelコマンドを使用してください。
(3) LOB列構成基表及びLOB列のRDエリアとバッファなどの資源について
LOB列がある表にデータロードする場合,LOB列構成基表,及びLOB列のRDエリアとバッファなどの資源は,すべて準備しておく必要があります。LOB列構成基表だけを作成する場合も同様です。
(4) ユティリティ実行時に使用できるファイルの媒体について
pdload実行時に使用できるファイルの媒体を次に示します。
ファイル |
ファイル |
固定長ブロックテープ |
可変長ブロックテープ |
---|---|---|---|
入力データファイル |
○ |
○※1※2 |
○※2 |
制御情報ファイル |
○ |
× |
× |
列構成情報ファイル |
○ |
× |
× |
ナル値・関数情報ファイル |
○ |
× |
× |
エラー情報ファイル |
○ |
× |
× |
エラーデータファイル |
○ |
× |
× |
LOB入力ファイル |
○ |
× |
○ |
LOB中間ファイル |
○ |
× |
× |
インデクス情報ファイル |
○ |
× |
× |
ソート用ワークファイル |
○ |
× |
× |
処理結果ファイル |
○ |
× |
× |
- (凡例)
-
○:使用できます。
×:使用できません。
- 注※1
-
バイナリ形式,及び固定長データ形式の場合は,使用できません。
- 注※2
-
pdrorg用アンロードファイルの場合は,使用できません。
(5) データ連動の対象となる抽出側データべースへのユティリティ実行について
データ連動の対象となる抽出側データべースに対してpdloadを実行する場合,次の点に注意してください。
-
既にある表に対して,作成モードで実行しないでください(-dオプションを指定しないでください)。
-
既にある表に対して,追加モードでデータを追加する場合には,ログ取得モードで実行してください(-lオプションにはaを指定してください)。
-
HiRDB Datareplicator連携の対象となる表を新規に追加する場合,ログ取得モードで実行してください(-lオプションにはaを指定してください)。
(6) 行の最後がコンマ(,)で終わっているDAT形式の入力データファイルをデータロードする場合について
行の最後がコンマ(,)で終わっているDAT形式の入力データファイルをデータロードする場合に,「列数が不一致」などの理由でデータロードできないときがあります。このような場合は,列構成情報ファイルに表の列名をすべて記述して,最後にスキップデータ文を記述します。この場合,入力データの修正は不要です。
なお,表の列数が多く列構成情報ファイルの記述が大変なときは,次の方法で作成できます。
-
SQL Executerを使用して表の列名をファイルに出力します。
該当する表の列名をファイルに出力する場合,列定義順に出力する必要があるため,SQL文の記述は次のようにしてください。
PUTFILE TO ファイル名 SELECT COLUMN_NAME FROM MASTER.SQL_COLUMNS
WHERE TABLE_NAME='表名' ORDER BY COLUMN_ID;
-
1.で編集した結果を出力したファイル名の最後の行に,スキップデータ文を追記します。
(7) プラグインインデクスが定義してある表へのデータロードについて
-
プラグインインデクスが定義してある表にログレスモードでデータロードする場合,及びインデクス一括作成モードで追加データロードをする場合は,ユティリティの異常終了に備え,実行前に必ず処理対象の表が格納されているRDエリア(LOB用も含む)とインデクス格納RDエリアの両方のバックアップを取得してください。バックアップを取得しておかないと,障害が発生したときにRDエリアの回復ができないため,初期状態からの再作成が必要になります。
-
インデクス一括作成機能(-i cオプション指定)を使用してプラグインインデクスを作成する場合,「プラグインインデクス一括作成部分回復機能」をプラグインが提供していれば,ユティリティの異常終了時に取得したログを使用してロールバックによるインデクスの回復ができます。この機能が提供されていない場合,ロールバックでの回復はできないため,インデクスは全件作り直しとなります。
-
プラグインインデクス遅延一括作成機能を使用する場合,クライアント環境定義PDPLGIXMKにYESを指定してUAPを実行した表に対しては,データベース再編成ユティリティでインデクスを一括作成した後でないと,追加モードでのpdloadは実行できません。ただし,作成モードでのpdloadは実行できます。
また,この機能で使用するインデクス情報ファイル出力ディレクトリ(pd_plugin_ixmk_dir指定ディレクトリ)を,pdloadが使用するファイル出力領域として使用しないでください。
(8) HiRDB Text Search Plug-inの差分インデクス機能を使用している場合について
HiRDB Text Search Plug-inの差分インデクス機能を使用している場合,クライアント環境定義PDPLUGINNSUBの指定によって,pdloadが更新するインデクスを次に示します。
既存データの有無 |
PDPLUGINNSUBの指定 |
||
---|---|---|---|
Y |
N |
設定なし |
|
既存データなし(作成モードのデータロード) |
M |
M |
M |
既存データあり(追加モードのデータロード) |
S |
M |
S |
- (凡例)
-
M:MASTERインデクスを更新
S:差分インデクスを更新
(9) ユニークキーインデクス又は主キーインデクスを定義した表へのデータロードについて
ユニークキーインデクス又は主キーインデクスを定義した表にデータロードをする場合は,次に示す注意が必要です。
-
入力データファイル中にキー値が重複するデータがある場合,インデクス更新モード以外のモードでデータロードをしないでください。
インデクス一括作成モード,インデクス情報出力モード,又はインデクス情報出力抑止モードでデータロードをすると,データを表に格納し,インデクスのキー情報をインデクス情報ファイルに出力します。
この段階ではキー値の重複チェックはされません。キー値の重複チェックは,その後のインデクスデータの格納段階でされます。
キー値が重複していると,インデクスの作成処理はロールバックされますが,データは既に格納されています(コミットされて元に戻りません)。この場合,バックアップを使用してRDエリアを回復する必要があります。
したがって,キー値の重複データがある入力データファイルを使用してデータロードをする場合は,必ずインデクス更新モードを指定してください。このモードはデータを格納するごとにインデクスを更新するのでキー値の重複をすぐに検知し,該当するデータはデータベースに格納しません。
なお,デフォルト値がインデクス一括作成モードになっているので注意してください。
(10) データロード対象の表を基にリストを作成している場合について
データロード対象の表を基にリストを作成している場合,データロード後にリストを使用して検索したときには,次のような現象が発生します。
-
誤った行を取り出す。
-
検索した行が見付からない。
このような場合,リストを使用して検索する前に,リストを再作成する必要があります。
(11) コマンド実行画面に出力されるメッセージ
pdloadは,標準出力に経過メッセージを出力しながら処理をします。また,エラー発生時は,標準エラー出力にエラーメッセージを出力します。標準出力や標準エラー出力への出力が抑止されている環境でpdloadを実行した場合,メッセージ出力待ちでpdloadが無応答状態となったり,メッセージログファイルにKFPL20003-Eメッセージを出力してpdloadが異常終了したりすることがあります。そのため,標準出力や標準エラー出力への出力ができない環境ではpdloadを実行しないでください。なお,標準出力,及び標準エラー出力に出力するメッセージの順序や数は,メッセージログファイルやイベントログと一致しないことがあります。正確にメッセージを把握したい場合は,メッセージログファイル又はイベントログを参照してください。
(12) 共用表へのデータロード
共用表にデータロードする場合,共用表,及び処理対象の表に定義した共用インデクスを格納しているRDエリアに対して,EXモードで排他を掛けます。そのため,該当するRDエリアに定義したほかの表やインデクスも参照,及び更新ができません。共用表に対してデータロードする場合の排他制御モードについては,「ユティリティの排他制御モード」を参照してください。
(13) 参照制約又は検査制約を定義した表へのデータロード
参照制約又は検査制約を定義した表に対してデータロードする場合,pdloadはデータの整合性が保たれているかどうかのチェックをしません。そのため,データロードする場合は,pdconstckを使用して整合性を確認する必要があります。表の整合性確認手順については,マニュアル「HiRDB システム導入・設計ガイド」を参照してください。
(14) うるう秒を含んだ時刻データ又は時刻印データのデータロード
うるう秒を含んだ時刻データ又は時刻印データをデータロードする場合,pd_leap_secondオペランドをYにしてください。このオペランドをYにすることによって,時刻データ,又は時刻印データの秒で指定できる範囲が0〜61秒になります。
(15) 再編成時期予測機能との関係
作成モード(-d指定)のデータロードをすると,再編成時期予測機能の結果に表やインデクスのデータを削除した運用履歴が反映されます。
また,pdloadが異常終了した状態のまま,pddbstの状態解析結果蓄積機能を実行すると,データロード完了後の状態で再編成時期を予測できないため,予測結果が不正※となります。したがって,pdloadが異常終了した場合は,pdloadを再実行して正常終了させた状態で,pddbstの状態解析結果蓄積機能を実行してください。
- 注※
-
例えば,データロード中に異常終了してロールバックした状態のDBの情報を蓄積すると,空のDBを基に予測してしまいます。
(16) 分割キー構成列に対して順序数生成子を指定したRDエリア単位データロード
分割キー構成列に対して順序数生成子を指定したRDエリア単位でのデータロードはできません。実行した場合は処理を続行します。その結果,入力データファイルのデータがデータベースに格納できない場合があります。