13.2.2 データベースの使用領域を確認する

JP1/AJS2は,業務の定義情報およびスケジュール情報の管理にデータベースを使用しています。データの追加や削除を繰り返すと,データベースの未使用領域が多くなり,データの格納効率が悪くなります。データの格納効率が悪くなると,データを検索するときの性能の劣化につながり,トラブルの原因になるおそれがあります。

そのため,データベースを再編成する時期を見積もるために,未使用領域を確認する作業を,定例的な運用中の作業として実施してください。再編成時期に達していたら,再編成作業を実施してください。

<この項の構成>
(1) ISAMデータベースの未使用領域の確認
(2) 組み込みDBの未使用領域の確認
(3) データベースの未使用領域の確認方法

(1) ISAMデータベースの未使用領域の確認

ISAMデータベースの未使用領域の確認は,ajsdbcondまたはjpqdbcondコマンドで実行します。これらのコマンドに関する注意事項を次に示します。なお,ajsdbcondまたはjpqdbcondコマンドのオプションの詳細については,マニュアル「JP1/Automatic Job Management System 2 コマンドリファレンス 1. コマンド」を参照してください。

(a) ajsdbcondコマンドの注意事項

(b) jpqdbcondコマンドの注意事項

(2) 組み込みDBの未使用領域の確認

組み込みDBの未使用領域の確認は,組み込みDBによって出力されるメッセージを確認します。

(3) データベースの未使用領域の確認方法

データベースの未使用領域の確認方法を次の表に示します。

表13-4 データベースの未使用領域の確認方法と再編成時期

データベースの種別確認方法とデータベースの再編成時期
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イベント」を参照してください。

再編成の方法については,次に示す個所を参照してください。