9.2.1 ISAMキー再利用の設定
ISAMデータベースは,データファイルおよびキーファイルで構成されますが,キーファイルはデータ削除後に無効になった領域を再利用しませんでした。このため,長時間運用を続けると,ISAMファイルが肥大化することで,アクセス性能が劣化し,短い周期でISAMデータベースを再編成する必要がありました。
ISAMキー再利用機能を有効にすると,長時間連続して運用しても,削除済みの無効領域を再利用することでファイルサイズが肥大化しにくくなるため,性能劣化が防止できます。なお,この設定を有効にする場合は,ISAMデータベースのフォーマットを変換する必要があります。
JP1/AJS2 07-00以降を新規で使用する場合は,セットアップ時にデフォルトでキーファイルに対応したISAMデータベースが作成されます。そのため,移行作業は必要ありません。
JP1/AJS2 06-71以前からJP1/AJS2 07-00以降のJP1/AJS2にバージョンアップする場合は,既存のデータベースの情報を引き継ぐため,この機能は有効にはなりません。
- 注意事項
- JP1/AJS2 06-71以前からISAMキー再利用機能を使用してジョブ実行制御の環境設定で可変長テーブルレコードサイズ切り上げオプション"EnvVariableSizeRoundup"を指定している場合は,JP1/AJS2 07-00以降を上書きインストールすると設定がそのまま引き継がれます。また,JP1/AJS2 07-00以降を新規にインストールした場合は,このオプションはデフォルトで有効になっていますので新たに設定する必要はありません。
- ISAMキー再利用機能を使用している場合,ジョブ実行環境データベースのジョブ情報削除処理に掛かる所要時間がISAMキー再利用機能を使用していない場合に比べて長くなります。マシンの性能やディスクアクセス性能にもよりますが,ジョブの実行や他のプログラムからの影響がない状態でジョブ情報削除だけを行っても,約30%所要時間が長くなります。ジョブを実行する時間帯と競合すると,さらに所要時間が延びることがあります。
これは,ISAMキー再利用機能では,ジョブ情報を削除した際に無効になった領域を再利用していて,その処理にオーバーヘッドが掛かり,ディスクI/Oが増加するためです。
ジョブ実行のピーク時間帯を考慮してジョブ情報削除処理のスケジューリングを行っている場合は注意してください。ディスクI/Oの増加を抑え,ジョブ情報削除処理の所要時間を短縮する方法として,ジョブ情報削除処理非同期オプションがあります。ジョブ情報削除処理非同期オプションの詳細については,「8.1.7 ジョブ情報削除処理の注意事項」を参照してください。ただし,RAIDなどにより高速なI/Oが可能なディスクを使用している場合は,改善できないおそれがあります。この場合は,ジョブ情報削除の基準時刻を変更する方法も検討してください。
キー再利用機能を有効にするための方法を次に示します。初めに,新規にセットアップする場合での有効方法について説明します。次に,既存データベースから移行する場合での有効方法について説明します。
- <この項の構成>
- (1) データベースを新規にセットアップする場合
- (2) 既存データベースから移行する場合
- (3) データベースファイル設定の表示
(1) データベースを新規にセットアップする場合
- スケジューラーデータベースの新規作成
ajssetupコマンドを実行してください。
キー再利用が有効となるISAMデータベースが,新規に作成されます。
- ジョブ実行環境データベースの新規作成
jpqimport -dt isamコマンドを実行してください。
キー再利用が有効となるISAMデータベースが,新規に作成されます。
(2) 既存データベースから移行する場合
- システム内の物理ホストおよびすべての論理ホストで稼働している,次に示すJP1のサービスを停止する。
- JP1/AJS2サービス
- JP1/AJS2 Monitorサービス
- JP1/AJS2 Console Managerサービス
- JP1/AJS2 Console Agentサービス
- JP1/Baseサービス
- 注意事項
- 論理ホストの設定をするときは,JP1/AJS2サービスおよびJP1/Baseサービスを停止した際に,フェールオーバーしないようにしてください。
- 次に示すコマンドを実行してフォーマットを変換する。
ファイルフォーマットを変換する場合には,対象となるISAMファイルの2倍の空き領域が必要です。ディスク容量不足が原因で変換に失敗した場合,ファイルが消失する場合があります。あらかじめISAMファイルをバックアップし,ajsdbcondおよびjpqdbcondコマンドの-dオプションでディスク空き容量が十分あるディレクトリを指定してください。このオプションの指定がない場合,次に示すディレクトリを使用します。
- Windowsの場合
- コマンド実行ユーザーの環境変数TMPまたは環境変数TEMPで指定した一時ディレクトリ
- HP-UXおよびSolarisの場合
- /var/tmp
- AIXの場合
- /tmp
- スケジューラーデータベースでの移行
- ajsdbcond -kコマンドを実行します。
- スケジューラーデータベースは,既存データベースからキー再利用が有効になるISAMファイルへ移行されます。また,このコマンドを実行することで,移行と同時にデータベースの再編成をします。
- ジョブ実行環境データベースでの移行
- jpqdbcond -kコマンドを実行します。
- ジョブ実行環境データベースは,既存データベースからキー再利用が有効となるISAMファイルへ移行されます。また,このコマンドを実行することで,移行と同時にデータベースの再編成をします。
(3) データベースファイル設定の表示
ISAMファイルの設定内容を表示させるには,ajsdbcond -mコマンドまたはjpqdbcond -mコマンドを実行してください。
ajsdbcond -mコマンドおよびjpqdbcond -mコマンドを実行すると,ファイル設定情報が標準出力に出力されます。
図9-1 ISAMファイルの設定情報の出力例(ajsdbcondコマンドの場合)
![[図データ]](figure/zud09010.gif)