13.3.1 environment文
environment文には,pdsdbrogコマンドの基本的な動作条件を指定します。
指定形式
environment schema = SDBデータベース名 〔exectime = pdsdbrogコマンドの実行時間の上限〕 〔recnomsg = 処理経過メッセージの出力間隔〕 〔generation = 世代番号〕
- ●schema = SDBデータベース名
-
〜<識別子>((1〜30バイト))
アンロードを実行するSDBデータベースの名称を指定します。SDBデータベース定義のSCHEMA句に指定したSDBデータベース名を指定します。
SDBデータベース名を引用符('')で囲んだ場合,英大文字と英小文字が区別されます。引用符('')で囲まない場合,すべて英大文字として扱われます。
- ●exectime = pdsdbrogコマンドの実行時間の上限
-
〜<符号なし整数>((0〜35,791,394))(単位:分)
pdsdbrogコマンドの実行時間の上限を分単位で指定します。このオペランドに指定した時間を超えてもpdsdbrogコマンドの処理が完了しない場合,pdsdbrogコマンドを強制終了します。このとき,無応答障害の原因調査のための障害情報が$PDDIR/spool/saveディレクトリ下に出力されます。出力される障害情報を次に示します。
-
コアファイル
-
.debファイル
-
コマンド名<障害情報の出力日時>プロセスID.txtファイル※
- 注※
-
このファイルには,次に示すコマンドの実行結果が出力されます。
・pdls -d lck
・pdls -d rpc -a
なお,このオペランドは無応答障害の検知を目的としています。したがって,pdsdbrogコマンドの予想実行時間に対して,十分に余裕を持たせた時間を指定してください。例えば,pdsdbrogコマンドの予想実行時間が7分程度の場合,このオペランドには20分ぐらいの時間を指定してください。
アンロードを夜間バッチとして実行する場合などにこのオペランドの指定を推奨します。このオペランドを指定しておくと,通信障害(一時的な障害を含む)やディスク障害などが発生して,pdsdbrogコマンドが無応答状態になった場合,pdsdbrogコマンドを自動的に異常終了させることができます。これによって,pdsdbrogコマンドの無応答状態が,UAPやほかのコマンドの実行に影響が及ぶのを防ぐことができます。
《留意事項》
-
このオペランドに0を指定した場合は,pdsdbrogコマンドの実行時間の上限は設定されません。
-
このオペランドを省略した場合,システム定義のpd_utl_exec_timeオペランド,またはpd_cmd_exec_timeオペランドに指定した時間が,pdsdbrogコマンドの実行時間の上限になります。pd_utl_exec_timeオペランド,およびpd_cmd_exec_timeオペランドについては,マニュアル「HiRDB システム定義」を参照してください。
-
オペランドの優先順位は高い順に次のとおりです(優先順位は1の指定がいちばん上位です)。
優先順位
指定個所
オペランド名
1
pdsdbrog制御文のenvironment文
exectime
2
システム定義
pd_utl_exec_time
3
システム定義
pd_cmd_exec_time
-
- ●recnomsg = 処理経過メッセージの出力間隔
-
〜<符号なし整数>((1〜1,000))《10》(単位:1万件)
アンロードの処理経過メッセージの出力間隔を,1万件(レコード)単位で指定します。例えば,このオペランドに5を指定すると,アンロードが5万件(レコード)終わるごとに経過メッセージ(KFPB63014-I)が出力されます。
- ●generation = 世代番号
-
〜<符号なし整数>((0〜10))
処理対象のRDエリアの世代番号を指定します。このオペランドは,インナレプリカ機能使用時に指定します。
なお,SD FMBのSDBデータベースを使用している場合,このオペランドは省略してください。
0:オリジナルRDエリアを処理対象とする場合に指定します。
1〜10:指定した世代のレプリカRDエリアを処理対象とする場合に指定します。
このオペランドを省略した場合,カレントRDエリアが処理対象になります。カレントRDエリア以外のRDエリアを処理対象とする場合に,このオペランドを指定してください。
《運用上の注意事項》
-
レプリカRDエリアに対してRDエリア単位のアンロードを実行する場合,unload文のareaオペランドにはオリジナルRDエリア名を指定してください。このオペランドには処理対象のRDエリアの世代番号を指定してください。
-
pdsdbrogコマンドでレコードをアンロードし,pdsdbloadコマンドでデータロードする場合,アンロードとデータロードの実行時に同じ世代番号を指定してください。異なる世代番号を指定してもチェックアウトされないため,指定された世代番号のRDエリア(アンロードを実行したRDエリアとは異なるRDエリア)にデータロードされます。
- 参考
-
このオペランドに指定した世代番号のRDエリアがあるかどうかをチェックします。チェックの結果,該当するRDエリアがない場合,KFPB63305-Eメッセージを出力してリターンコード8でpdsdbrogコマンドが終了します。RDエリア間のレプリカステータスが不一致の場合,KFPB63306-Eメッセージを出力してリターンコード8でpdsdbrogコマンドが終了します。
-