8.1.7 ジョブ情報削除処理の注意事項

JP1/AJS2では,ジョブ情報削除基準時刻,およびJP1/AJS2起動時にジョブ実行環境で使用するISAMデータベースからジョブ情報保存日数を経過したジョブを削除します。通常は,データファイルの更新モードオプションで同期が設定されています。同期の場合,JP1/AJS2が書き込み処理を終了するたびにメモリーにあるバッファーの内容をディスクに書き込むため信頼性は向上しますが,ディスクI/Oが頻繁に行われるために処理に時間が掛かります。したがって,この処理と並行してジョブを実行すると,ジョブの実行性能にも影響することがあります。ジョブ情報保存日数に1日以上を指定した場合は,ジョブが多量に実行されていない時刻を見積もってジョブ情報削除の基準時刻として設定してください。

<この項の構成>
(1) ジョブ情報削除処理非同期オプション
(2) ジョブ情報の保存日数を0日にした場合の効果およびジョブ情報の保存時間の設定
(3) JP1/AJS2起動時にジョブ情報削除処理を抑止する設定

(1) ジョブ情報削除処理非同期オプション

ジョブが多量に実行されていない時刻を見積もれない場合は,次のオプションを設定すると,ジョブ情報の削除については非同期で行うことができ,ジョブ情報削除処理に掛かる時間を少なくすることができます。非同期にするとJP1/AJS2での処理とは同期を取らないでOSのバッファーリングによってディスクに書き込むため,ディスクI/O回数が減少します。そのため,削除処理と並行してジョブが実行された場合にジョブの実行性能に与える影響を抑えることができます。ただし,RAIDシステムの場合は,性能差があまり出ないおそれがあります。また,非同期はメモリー上で管理されている情報とディスクに書き込まれた情報が不一致になるタイミングが発生しやすく,信頼性が低下するためクラスタ構成には向きません。運用する環境を十分検討した上で使用してください。

このオプションは,データファイルの更新モードオプションで同期が指定されている場合に限り有効です。オプションを有効にする手順を次に示します。

  1. エディターなどで,次に示す内容を記述した設定ファイルを作成する。

    [{JP1_DEFAULT|論理ホスト名}¥JP1NBQMANAGER¥Database]
    "DeleteFlashOption"=dword:設定値

    {JP1_DEFAULT|論理ホスト名}の部分は,「JP1_DEFAULT」または「論理ホスト名」のどちらかを設定します。「設定値」には,ジョブ情報の削除について非同期で実行する場合は「0」を,同期で実行する場合は「1」を指定します。デフォルトは「1」です。このパラメーターは,JP1/AJS2の新規のインストール時,および新規のセットアップ時に「0」が設定されます。設定ファイルのファイル名は任意です。
  2. 「jbssetcnf 設定ファイル名」コマンドを実行する。
    設定ファイルの内容が構成定義に反映されます。
  3. JP1/AJS2を再起動する。
    変更した構成定義の内容が反映されます。

(2) ジョブ情報の保存日数を0日にした場合の効果およびジョブ情報の保存時間の設定

ジョブ情報の保存日数を0日にすると,ジョブ情報はジョブが終了してから10分後に削除されます。ジョブ実行コマンドでジョブを実行している場合や,ジョブネットから実行するジョブでもジョブの終了後に実行結果を確認しないような場合には,保存日数を0日にして運用すると,終了したジョブ情報は常に削除され,ジョブ情報の増加が抑えられます。そのため,ジョブ情報削除基準時刻にまとめて大量のジョブを削除するということもなくなります。また,24時間の間,常にジョブを実行するような運用や,不定期にジョブを実行する運用など,ジョブ情報削除基準時刻の時間帯を見積もるのが困難な運用を行っているような場合にも有効です。

ただし,ジョブネットからジョブを実行している場合は,ジョブの終了時に状態通知プロセスがジョブの状態確認を行っています。その際に通信エラーなどで状態通知が失敗すると,状態通知プロセスがデフォルト5分のポーリング間隔でジョブの状態を監視します。その間にジョブ情報がすでに削除されていると,ジョブ情報が参照できないためジョブは異常終了として扱われます。

次に示すオプションを使用すると,このようなエラーが発生する場合にもジョブが終了してから削除するまでの保存時間を変更することで対処することができます。なお,この設定はジョブの保存日数を0日にしている場合にだけ有効です。オプションを有効にする手順を次に示します。

  1. JP1/AJS2のサービスを停止する。
  2. エディターなどで,次に示す内容を記述した設定ファイルを作成する。

    [{JP1_DEFAULT|論理ホスト名}¥JP1NBQMANAGER¥Database]
    "PreserveMinute"=dword:設定値

    {JP1_DEFAULT|論理ホスト名}の部分は,「JP1_DEFAULT」または「論理ホスト名」のどちらかを設定します。「設定値」には,ジョブ情報の保存時間を16進数で指定します。0000000A~000005A0(10進数で10~1,440)(単位:分)の間で指定します。デフォルトは「dword:0000000A」(10進数で10)です。設定ファイルのファイル名は任意です。
  3. 「jbssetcnf 設定ファイル名」コマンドを実行する。
    設定ファイルの内容が構成定義に反映されます。
  4. JP1/AJS2を再起動する。
    変更した構成定義の内容が反映されます。

(3) JP1/AJS2起動時にジョブ情報削除処理を抑止する設定

ジョブ情報削除処理は,環境設定で指定したジョブ情報削除の基準時刻,およびJP1/AJS2サービス起動時に実行されます。ジョブ情報削除の基準時刻に実行される場合は基準時刻を基点として保存日数を超えたジョブ情報が削除の対象となります。また,JP1/AJS2サービス起動時に実行される場合,JP1/AJS2起動時刻を基点として保存日数を超えたジョブ情報すべてが削除の対象となります。ジョブを大量に実行している状況でクラスタ構成によるフェールオーバーや,システム障害などによってJP1/AJS2サービスが再起動された場合,ジョブ情報の削除処理と競合してジョブの実行性能が低下することがあります。

次に示すどちらかのオプションを使用してJP1/AJS2サービス起動時のジョブ情報の削除処理を抑止することで,ジョブ情報の削除処理とジョブ実行の競合を回避できます。

JP1/AJS2起動時にジョブ情報削除処理を抑止する設定と,削除処理を行うかどうかの関係について次の表に示します。

表8-1 JP1/AJS2起動時にジョブ情報削除処理を抑止する設定と削除処理を行うかどうかの関係

JP1/AJS2起動時にジョブ情報削除処理を抑止する設定JP1/AJS2起動時のジョブ情報削除処理削除対象のジョブ情報の基点となる時刻
0基準時刻
1JP1/AJS2サービス起動時刻
2×
(凡例)
○:削除処理を行う
×:削除処理を行わない
-:該当なし
注※
前回のジョブ情報削除の基準時刻にジョブ情報が削除されていれば,JP1/AJS2サービス起動時のジョブ情報削除処理ではジョブ情報を削除しません。

この設定は,ジョブの保存日数を1日以上に設定している場合にだけ有効です。オプションを有効にする手順を次に示します。

  1. JP1/AJS2のサービスを停止する。
  2. エディターなどで,次に示す内容を記述した設定ファイルを作成する。

    [{JP1_DEFAULT|論理ホスト名}¥JP1NBQMANAGER¥Database]
    "StartUpDelete"=dword:設定値

    {JP1_DEFAULT|論理ホスト名}の部分は,「JP1_DEFAULT」または「論理ホスト名」のどちらかを設定します。「設定値」には,JP1/AJS2サービス起動時にジョブ削除の基準時刻を基点として保存日数を超えているジョブ情報を削除する場合は「0」を,JP1/AJS2サービス起動時刻を基点として保存日数を超えているジョブ情報を削除する場合は「1」を,JP1/AJS2サービス起動時のジョブ情報の削除処理を抑止する場合は「2」を指定します。デフォルトは「0」です。設定ファイルのファイル名は任意です。
  3. 「jbssetcnf 設定ファイル名」コマンドを実行する。
    設定ファイルの内容が構成定義に反映されます。
  4. JP1/AJS2を再起動する。
    変更した構成定義の内容が反映されます。