JP1/Automatic Job Management System 2 設計・運用ガイド
JP1/AJS2は,業務の定義情報およびスケジュール情報の管理にデータベースを使用しています。データの追加や削除を繰り返すと,データベースの未使用領域が多くなり,データの格納効率が悪くなります。データの格納効率が悪くなると,データを検索するときの性能の劣化につながり,トラブルの原因になるおそれがあります。
そのため,データベースを再編成する時期を見積もるために,未使用領域を確認する作業を,定例的な運用中の作業として実施してください。再編成時期に達していたら,再編成作業を実施してください。
- <この項の構成>
- (1) ISAMデータベースの未使用領域の確認
- (2) 組み込みDBの未使用領域の確認
- (3) データベースの未使用領域の確認方法
(1) ISAMデータベースの未使用領域の確認
ISAMデータベースの未使用領域の確認は,ajsdbcondまたはjpqdbcondコマンドで実行します。これらのコマンドに関する注意事項を次に示します。なお,ajsdbcondまたはjpqdbcondコマンドのオプションの詳細については,マニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド」を参照してください。
(a) ajsdbcondコマンドの注意事項
- このコマンドに-lオプションを指定した場合,ISAMファイルを閉じている状態で実行してください(ISAMファイルを閉じるには,ajsstopコマンドを実行して,JP1/AJS2の運用を終了してください。また,JP1/AJS2 - Viewをすべて停止してください)。ファイルが開いている状態でこのコマンドを実行した場合,エラーになります。
- このコマンドに-Lオプションを指定した場合,他のプロセスが使用中のISAMファイルに対しても情報を取得できますが,並行してアクセスする他のプロセスがISAMファイルを更新した場合,情報取得の瞬間のISAMファイル更新分については誤差が生じます。また,ISAMファイルの整合性を保つため,コマンド実行中は他のプロセスのISAMファイルへのアクセスが待たされます。したがって,このコマンドを使用する場合は,スケジューラーサービスの繁忙期を避けてください。
- -l,-Lオプションで出力される情報は,フラグメンテーションの割合ではなく,未使用領域率です。このため,ISAMファイル中にレコードがない場合や,レコードが非常に少ない件数の場合,まだ使用されていない予約済みの空き領域に対する未使用領域率として「100%」と出力されます。
(b) jpqdbcondコマンドの注意事項
- このコマンドに-lオプションを指定した場合,ISAMファイルを閉じている状態で実行してください(ISAMファイルを閉じるには,JP1/AJS2を停止してください)。ファイルが開いている状態でこのコマンドを実行した場合の動作は保証しません。
- このコマンドに-Lオプションを指定した場合,他のプロセスが使用中のISAMファイルに対しても情報を取得できますが,並行してアクセスする他のプロセスがISAMファイルを更新した場合,情報取得の瞬間のISAMファイル更新分については誤差が生じます。また,ISAMファイルの整合性を保つため,コマンド実行中は他のプロセスのISAMファイルへのアクセスが待たされます。したがって,このコマンドを使用する場合は,ジョブを大量に実行するなどの繁忙期を避けてください。
- -l,-Lオプションで出力される情報は,フラグメンテーションの割合ではなく,未使用領域率です。このため,ISAMファイル中にレコードがない場合や,レコードが非常に少ない件数の場合,まだ使用されていない予約済みの空き領域に対する未使用領域率として「100%」と出力されます。
組み込みDBの未使用領域の確認は,組み込みDBによって出力されるメッセージを確認します。
(3) データベースの未使用領域の確認方法
データベースの未使用領域の確認方法を次の表に示します。
データベースの種別 確認方法とデータベースの再編成時期 ISAM スケジューラーデータベース ajsdbcondコマンドの実行例を次に示します。
ajsdbcond -L -a -t se,10 -F AJSROOT1
スケジューラーサービスのISAMファイルの情報を標準出力に出力し,未使用領域サイズがしきい値(10メガバイト)に達していたときに,標準エラー出力とsyslog(Windowsイベントログ)にメッセージを出力します。
このオプションを使用して,ジョブを大量に実行するなどの繁忙期でないときに,JP1/AJS2のジョブとしてajsdbcondコマンドをスケジュール実行することで,定期的にISAMファイルの状態を確認して,警告メッセージを出力できます。実行例を次に示します。
PCジョブの場合
[実行ファイル名]に「ajsdbcond -L -a -i s -F AJSROOT1」と入力して,実行日や処理サイクルを定義してください。
UNIXジョブの場合
[コマンド文]に「/opt/jp1ajs2/bin/ajsdbcond -L -a -i s -F AJSROOT1」と入力して,実行日や処理サイクルを定義してください。
ajsdbcond -l -a -F AJSROOT1
スケジューラーサービスAJSROOT1の使用するISAMファイルの状態(未使用領域率と未使用領域サイズ・データファイルフラグメント率)を出力します。
ajsdbcond -L -a -t j,10 -F AJSROOT1
未使用領域サイズがしきい値(10メガバイト)に達していたときに,次に示すJP1イベントを出力します。
イベントID:00004154
イベント名称:ISAM未使用領域サイズしきい値到達イベント
メッセージID:KAVS1504-W
あらかじめ指定した,任意のしきい値を超えていた場合に再編成してください。ジョブ実行環境
データベースjpqdbcondコマンドの実行例を次に示します。
jpqdbcond -L -a -t se,10
ジョブ実行環境で使用するISAMファイルの情報を標準出力に出力し,未使用領域サイズがしきい値(10メガバイト)に達していたときに,標準エラー出力とsyslog(Windowsイベントログ)にメッセージを出力します。
このオプションを使用して,ジョブを大量に実行するなどの繁忙期でないときに,JP1/AJS2のジョブとしてjpqdbcondコマンドをスケジュール実行することで,定期的にISAMファイルの状態を確認して,警告メッセージを出力できます。
jpqdbcond -l -a
ジョブ実行環境で使用するISAMファイルの状態(未使用領域率と未使用領域サイズ・データファイルフラグメント率)を出力します。
jpqdbcond -L -a -t j,10
未使用領域サイズがしきい値(10メガバイト)に達していたときに,次に示すJP1イベントを出力します。
イベントID:00004164
イベント名称:ISAM未使用領域サイズしきい値到達イベント
メッセージID:KAVU5984-W
あらかじめ指定した,任意のしきい値を超えていた場合に再編成してください。
なお,ジョブ実行環境の再編成の時期は,ジョブ情報の保存日数も目安にしてください。設定したジョブ情報の保存日数については,マニュアル「JP1/Automatic Job Management System 2 セットアップガイド 4.2 ジョブ実行環境の設定」,またはマニュアル「JP1/Automatic Job Management System 2 セットアップガイド 14.2 ジョブ実行環境の設定」を参照してください。組み込みDB 組み込みDBでは,ajsembdbreclaimコマンドを定期的に使用すれば,ほとんど再編成は不要です。ただし,ページの利用効率が悪い場合(ページ中に有効データが1件だけある場合など),組み込みDBによって出力されるKFPH00211-Iメッセージを基に再編成を実施する必要があります。KFPH00211-Iメッセージは,利用率が80%,90%,100%の段階で,Windowsイベントログまたはsyslogに出力されます。組み込みDBの再編成の時期は,定期的にWindowsイベントログまたはsyslogを確認してください。KFPH00211-Iメッセージが出力されていたら,再編成してください。 ajsdbcondおよびjpqdbcondコマンドで出力されるJP1イベントの詳細については,マニュアル「JP1/Automatic Job Management System 2 解説 付録B JP1/AJS2が発行するJP1イベント」を参照してください。
再編成の方法については,次に示す個所を参照してください。
Copyright (C) 2006, 2010, Hitachi, Ltd.
Copyright (C) 2006, 2010, Hitachi Software Engineering Co., Ltd.