5.3.9 データベースにISAMを使用する場合のオプションについて検討する

JP1/AJS2では,JP1/AJS2のデータベースにISAMを使用する場合,ISAMファイルを自動的に再編成させる機能を提供しています。JP1/AJS2サービスの起動時に,該当する物理ホストおよび論理ホストで使用するISAMデータファイルを自動的に再編成できます。有効にする方法については,マニュアル「JP1/Automatic Job Management System 2 セットアップガイド 4.7.2 ISAMファイル自動再編成機能の設定」,またはマニュアル「JP1/Automatic Job Management System 2 セットアップガイド 14.7.3 ISAMファイル自動再編成機能の設定」を参照してください。

ISAMファイル自動再編成機能が有効になっている場合,JP1/AJS2サービスの起動時に,次のフォルダおよびディレクトリに格納されている,jpqautocondおよびajsautocondが起動されます。

Windowsの場合
JP1/AJS2 - Managerのインストール先フォルダ¥bin
UNIXの場合
/opt/jp1ajs2/bin

jpqautocondは,ジョブ実行環境のデータファイルを再編成します。ajsautocondは,ISAMで運用されているすべてのスケジューラーサービスのデータベースを再編成します。

ISAMデータファイルを再編成する際,ファイルに対する占有排他が必要です。このため,JP1/AJS2 - ViewがJP1/AJS2 - Managerに接続している場合,およびJP1/AJS2のコマンドを実行している場合,ISAMデータファイルは再編成されません。

注意
再編成時には,対象の物理ホストまたは論理ホストの作業ディレクトリ(ジョブ実行環境のマネージャープロセス実行時のワークディレクトリおよび各スケジューラーサービスの一時ファイル用ディレクトリ)があるドライブに再編成対象のスケジューラーおよびジョブ実行環境のISAMファイルの中で最もサイズが大きいファイルの3倍以上の空き容量が必要です。
<この項の構成>
(1) ISAMファイルの自動再編成を並列に実行させる

(1) ISAMファイルの自動再編成を並列に実行させる

ISAMファイルの自動再編成機能には,オプションとして,自動再編成を並列に実行する機能があります。一つのISAMファイルは,一つのスケジューラーサービスに割り当てられています。JP1/AJS2サービスの起動時にISAMファイルを自動的に再編成させる機能は,一つのISAMファイルの再編成が終わったら,次のスケジューラーサービスのISAMファイルを再編成するようになっています。

スケジューラーサービス数が最大の20個あるような場合,一つずつ再編成させていると時間が掛かる場合があります。このような場合は,この並列実行オプション機能を有効にすることをお勧めします。このオプションを有効にすると,ISAMデータベースが並列に再編成されるので,再編成に掛かる総所要時間を短縮できます。

有効にするには,次のファイルをエディターなど開き,ajsautocondスクリプトのパラメーターとして,並列実行の多重度を指定する必要があります。

Windowsの場合
JP1/AJS2 - Managerのインストール先フォルダ¥conf¥jp1ajs_spmd_pre.conf
UNIXの場合
/etc/opt/jp1ajs2/conf/jp1ajs_spmd_pre.conf

クラスタで運用している場合は,共有ディスクのjp1ajs2の下にあるconfディレクトリのファイルになります。
注意
並列実行機能を有効にした場合,システム上に十分なディスク空き容量が必要です。自動再編成を実施する場合,スケジューラーサービスの一時ファイル用ディレクトリを作業ディレクトリとして使用します。このディレクトリには,最大で「すべてのスケジューラーサービスの中で最も大きいテーブルの3倍のサイズ再編成実行多重度」の空き容量が必要です。ディスク空き容量不足が発生すると再編成に失敗します(ただし,再編成しない状態でサービスは起動します)。ディスクの空き容量および指定する多重度を十分注意して見積もってください。

並列実行オプション機能を有効にする手順を次に示します。

  1. エディターなどでjp1ajs_spmd_pre.confファイルを開く。
    新規インストール直後はファイルが存在しません。jp1ajs_spmd_pre.conf.modelファイルをコピーして作成してください。
  2. jp1ajs_spmd_pre.confファイルの該当行を次に示すように変更する。
    Windowsで多重度を3にする場合の例
    cmd.exe|/Q,/C,ajsautocond.bat,3|
    UNIXで多重度を3にする場合の例
    /opt/jp1ajs2/bin/ajsautocond|3|
    多重度には1~20を指定できます。デフォルトは1です。
    なお,jpqautocondスクリプトには多重度を指定しないでください。多重度を指定しても,ジョブ実行環境のデータベースは,物理ホストおよび論理ホスト内に一つしかないため,並列実行できないためです。