3.5.1 ISAMを使用する場合

ISAMデータベースは,JP1/AJS2インストール時にデフォルトで設定されるので,セットアップは必要ありません。

必要に応じて次のオプションを設定してください。

<この項の構成>
(1) 同期書き込みの設定
(2) データベースの自動再編成の設定
(3) キー再利用機能の有効化
(4) ISAMロックテーブル分割機能の有効化(UNIX限定)

(1) 同期書き込みの設定

ISAMデータベースには書き込みモードの設定があり,同期書き込みか非同期書き込みが選べます。非同期書き込みにすると性能は向上しますが,フェールオーバー時にデータファイルとキーファイルの整合性が取れなくなる場合があります。クラスタシステムで運用する場合はフェールオーバー時のデータ保護のために,ISAMの書き込み方法を同期書き込みに設定することをお勧めします。同期書き込みの設定をした場合,テーブル間で矛盾が起きないよう,JP1/AJS2が書き込み順序によって整合性を保ちます。ただし,同期書き込みの場合でも,OSによるディスク書き込み処理途中での電源断で,ファイルが壊れるおそれがありますので注意してください。

ISAMを利用している場合,ファイルの整合性だけに問題がある場合は,再編成を実施することで修復できます。ただし,電源断などによるディスク・ファイル障害が発生したときは,同期・非同期の設定にかかわらず,タイミングによっては,修復できない状態になるおそれがあります。このような事態に備えて,スケジューラーの定義情報やジョブ実行環境の定義情報のバックアップを随時実施する運用を検討してください。

また,ジョブ実行環境データベースをISAMの非同期書き込みにした場合,ジョブ起動のスループットが向上します。JP1/AJS2のスケジューラーからだけジョブを実行する場合は,スケジューラーデータベースにISAMを採用し,かつ同期書き込みを設定するか,または組み込みDBを採用するかによって信頼性を確保すれば,より効果的な運用も可能です。ただし,不用意な電源断などで,ジョブ実行環境データベースが壊れる確率が高くなりますので,障害発生時にはジョブ実行環境データベースを再作成する運用も検討してください。

(2) データベースの自動再編成の設定

ISAMデータベースには自動再編成機能があり,JP1/AJS2のサービス起動時にスケジューラーデータベースとジョブ実行環境のデータベースを自動的に再編成するかしないかが選べます。再編成機能を有効にしないと,無効領域が増大する(キー再利用機能が有効な場合は無効領域の発生を最小限にできます),可変長テーブルのフラグメンテーションが発生する,などの要因で長時間運転を行うと徐々に処理性能が劣化していきます。そのため,自動再編成の設定をしてください。ISAMデータベースの自動再編成の設定手順については,マニュアル「JP1/Automatic Job Management System 2 セットアップガイド 4.7.2 ISAMファイル自動再編成機能の設定」(Windowsの場合),またはマニュアル「JP1/Automatic Job Management System 2 セットアップガイド 14.7.3 ISAMファイル自動再編成機能の設定」(UNIXの場合)を参照してください。

また,クラスタシステムで運用する場合は,ISAMの自動再編成機能を有効にして,JP1/AJS2の起動時に自動的に回復するように設定することを推奨します。これは,フェールオーバー(業務処理を実行系のサーバから待機系のサーバへ切り替えること)のタイミングによって,データ部と索引部が不整合になった場合,回復するにはISAMデータベースの再編成が必要なためです。

ただし,ISAMデータベースを自動再編成する際,一つ一つファイルを順次再編成していくため,ジョブネットやジョブの数が多くなると,ISAMの再編成の実行時間が長く掛かり,JP1/AJS2のサービス起動時間も長く掛かることがあります。クラスタ運用している場合,フェールオーバーの繰り返しとなることがあるため,クラスタソフトの起動タイムアウト時間を調整してください。ISAMの再編成に必要な時間は,実レコード件数に比例します。クラスタソフトの起動タイムアウト時間が調整できない場合は,ISAMファイルが肥大化しない設定(ジョブ情報保存日数の調整・保存世代数の削減など)を実施し,再編成所要時間が短くなるようにしてください。

なお,サービス起動を常に高速にし,手動で再編成を実施する運用の場合は,自動再編成機能を無効にしてください。

(3) キー再利用機能の有効化

ISAMデータベースは,データファイルおよびキーファイルで構成されています。JP1/AJS2 06-71以前のバージョンでは,キーファイルはデータ削除後に無効になった領域を再利用しませんでした。このため,長時間運用を続けると,ISAMファイルが肥大化するため,アクセス性能が劣化し,短い周期でISAMデータベースを再編成する必要がありました。

ISAMキー再利用の設定をすると,長時間連続して運用しても,削除済みの無効領域を再利用することでファイルサイズが肥大化しにくくなり,性能劣化が防止できます。なお,この設定を有効にする場合は,ISAMデータベースのフォーマットを変換する必要があります。

JP1/AJS2 07-00以降を新規で使用する場合は,セットアップ時にデフォルトでキーファイルに対応したISAMデータベースが作成されます。そのため,移行作業は必要ありません。

JP1/AJS2 06-71以前からJP1/AJS2 07-00以降のJP1/AJS2にバージョンアップする場合は,既存のデータベースの情報を引き継ぐため,この機能は有効になっていません。ISAMキー再利用機能を使用したい場合は,移行作業が必要です。ただし,UNIX版のJP1/AJS2 - Manager 06-71以前でISAMキー再利用機能を使用していた場合は,そのままISAMデータベースを使用できるため移行作業は必要ありません。

ISAMキー再利用の設定方法については,「9.2.1 ISAMキー再利用の設定」を参照してください。

(4) ISAMロックテーブル分割機能の有効化(UNIX限定)

ISAMデータベースにアクセスするときのロック制御は,システム内で唯一のロックテーブル(セマフォおよび共用メモリーで実現)を利用していました。このため,スケジューラーとジョブ実行環境で多数のプロセスからISAMデータベースに同時にアクセスすると,処理の競合が原因で資源の確保ができないで性能が劣化する現象が発生します。

また,ジョブネットの実行登録を解除する処理など,スケジューラーデータベースに対してアクセスするコマンドが多数実行されると,データベースの更新処理が競合します。更新処理対象の情報や定義が大きい場合に,更新,削除といった処理を実行すると,性能が劣化することがあります。

ISAMファイルアクセス競合による性能劣化を防止するための設定をする(ISAMロックテーブル分割機能を有効にする)と,ISAMファイル単位にロックテーブルを持つようにできるため,アクセス競合による性能劣化が改善できます。ISAMロックテーブルの分割機能の設定方法については,「9.2.2 ISAMロックテーブルの分割の設定」を参照してください。なお,UNIX版のJP1/AJS2 - Manager 06-71以前でロックテーブル分割機能を使用している場合は,以前の設定のままで,引き続きこの機能が使用できます。

この設定をしないで,ジョブネットの登録解除処理などを同時に多重実行する場合,次に示すどちらかの運用を採用してください。

注※
ジョブネットの登録解除処理などを同時に多重実行する場合とは,次に示すどれかのコマンドを,四つから五つ同時に実行することです。
  • ajsleave
  • ajsrerun
  • ajsplan
  • ajsintrpt