ajsdbcond
形式
ajsdbcond [-F サービス名] [[-m] | [[-x][-k] [-d ディレクトリ名][-p {出力先}]]| [[{-l|-L} [-a] [[-i {出力先}]| [-t {出力先,未使用領域サイズしきい値} [-v]]]] |[-t {出力先,未使用領域サイズしきい値} [-v]]]]
機能
-
スケジューラーサービスが使用するISAMファイルの未使用領域率が高くなった場合などに,無効領域を圧縮し,ファイルを再編成します。
-
スケジューラーサービスが使用するISAMファイルの未使用領域率や,データファイルフラグメント率および未使用領域サイズを標準出力に出力します。
ISAMファイルの未使用領域率については,スケジューラーサービスがISAMファイルを使用中の場合でも,情報を表示できます。
-
スケジューラーサービスが使用するISAMファイルの次に示す情報を,指定した出力先にメッセージとして出力できます。
・再編成時の情報(開始・終了時刻,統計情報)
・未使用領域サイズ
・未使用領域サイズがしきい値に達していた
メッセージの出力先は,次の中から単独で指定することも,幾つか組み合わせて指定することもできます。
・標準エラー出力
・Windowsイベントログまたはsyslog
・JP1イベント
-
スケジューラーサービスが使用するISAMファイルの未使用領域サイズがしきい値に達しているかいないかを,このコマンドの戻り値に設定します。
-
ISAMファイルのフォーマットを変換します。
実行権限
Windowsの場合:Administrators権限
UNIXの場合:スーパーユーザー権限
引数
-F サービス名
処理対象とする,スケジューラーサービスのサービス名を指定します。
指定できる文字数は,1〜30(単位:バイト)です。
省略した場合,デフォルトスケジューラーサービス名が仮定されます。
-m
指定されたスケジューラーデータベースのセマフォ番号とISAMファイルフォーマット(キー再利用機能が有効か無効か)を出力します。
このオプションは,-Fオプション以外のオプションとは同時に指定できません。
-x
スケジューラーサービスが使用するISAMファイルを再編成します。
-k
指定されたスケジューラーサービスを構成するすべてのISAMファイルがキー再利用機能を有効となるフォーマットに変換すると同時に,データファイルおよびキーファイルを完全に再編成します。
-d ディレクトリ名
スケジューラーサービスが使用するISAMファイルを再編成する場合に,キーソート時に使用するワークファイルのディレクトリを指定します。
省略した場合の扱いについては,マニュアル「JP1/Base 運用ガイド」のJiscondコマンドの説明を参照してください。
-p {出力先}
スケジューラーサービスが使用するISAMファイルの再編成開始および終了時にメッセージを出力します。
このオプションは,-xオプションと同時に指定します。
-
出力先
メッセージの出力先を,次の中から指定します。出力先は,単独で指定することも,幾つか組み合わせて指定することもできます。
e:標準エラー出力
s:Windowsイベントログまたはsyslog
j:JP1イベント
このオプションを指定したときの,メッセージの出力例を次に示します。
- (例1)再編成開始時
KAVS1500-I スケジューラーサービス(AJSROOT1)のデータベース再編成を開始しました 20XX/10/01 01:05:40
- (例2)再編成正常終了時
KAVS1501-I スケジューラーサービス(AJSROOT1)のデータベース再編成が正常終了しました 20XX/10/01 01:05:40 - 20XX/10/01 01:20:20 (00:14:40)
開始日時,終了日時,経過時間,実施前後の未使用領域サイズをあわせて出力します。
- (例3)再編成異常終了時
KAVS1502-E スケジューラーサービス(AJSROOT1)のデータベース再編成が異常終了しました 20XX/10/01 01:05:40 - 20XX/10/01 01:20:20 (00:14:40)
{-l|-L}
スケジューラーサービスが使用するISAMファイルの未使用領域率を表示する場合に指定します。
このオプションを,-aオプションと同時に指定した場合,より詳細なISAMファイルの情報を表示します。
-
-l
ISAMファイルを占有して情報を取得します。
このオプションは,ファイルを占有して情報を取得するため,-Lオプションを指定した場合より正確な情報が取得できます。ただし,他プロセスがISAMファイルを使用中の場合は,エラーになります。
-
-L
ISAMファイルを占有しないで情報を取得します。
このオプションは,ファイルを占有しないため,スケジューラーサービスがISAMファイルを使用中でも情報を取得できます。ただし,並行してISAMファイルを更新しているプロセスがある場合,情報取得の瞬間のISAMファイル更新分については誤差が生じます。
-a
スケジューラーサービスが使用するISAMファイルの詳細な情報を出力します。
このオプションは,-lまたは-Lオプションと同時に指定すると,未使用領域率に加え,データファイルフラグメント率と未使用領域サイズを出力します。
-i {出力先}
スケジューラーサービスが使用するISAMファイルの未使用領域サイズをメッセージに出力します。
-
出力先
メッセージの出力先を,次の中から指定します。出力先は,単独で指定することも,幾つか組み合わせて指定することもできます。
e:標準エラー出力
s:Windowsイベントログまたはsyslog
j:JP1イベント
このオプションを指定したときの,メッセージの出力例を次に示します。
- (例)
KAVS1503-I スケジューラーサービス(AJSROOT1)のISAM未使用領域サイズは 99MBです
-t {出力先,未使用領域サイズしきい値}
スケジューラーサービスが使用するISAMファイルが,指定した未使用領域サイズしきい値に達していた場合,メッセージを出力します。
このオプションを使用して,スケジューラーサービスが繁忙期でないときに,JP1/AJS3のジョブとしてajsdbcondコマンドをスケジュール実行することで,定期的にISAMファイルの状態を確認して,警告メッセージを出力できます。
-
出力先
メッセージの出力先を,次の中から指定します。
出力先は,単独で指定することも,幾つか組み合わせて指定することもできます。
e:標準エラー出力
s:Windowsイベントログまたはsyslog
j:JP1イベント
-
未使用領域サイズしきい値
ISAMファイルの未使用領域サイズしきい値を指定します。
指定できる値は,1〜1024(単位:メガバイト(MB),1MB=1,024×1,024バイト)です。
このオプションを指定したときの,メッセージの出力例を次に示します。
- (例)
KAVS1504-W スケジューラーサービス(AJSROOT1)のISAM未使用領域サイズは101MBで,しきい値(100MB)に達しています
-v
未使用領域率に達していたかいないかを,このコマンドの戻り値(プロセス終了コード)に設定する場合に指定します。
このオプションは,-tオプションと同時に指定します。
注意事項
-
ファイルをバックアップして保存した上で,再編成を実施してください。ajsdbcondコマンドは,-dオプションで指定したディレクトリを作業ディレクトリとして使用します。-dオプションで指定したディレクトリがあるドライブまたはパーティションには,再編成対象のスケジューラーサービスのISAMキーファイルの中で最もサイズが大きいキーファイルの2倍以上の空き容量が必要です。また,スケジューラーサービスのデータベースディレクトリがあるドライブまたはパーティションには,再編成対象のスケジューラーサービスのISAMファイルの中で最もサイズが大きいファイルと同程度の空き容量が必要です。
-dオプションを指定しない場合は,OSの標準的なワークディレクトリを使用します。マニュアル「JP1/Base 運用ガイド」のJiscondコマンドについての説明を参照してください。
-
-x,-t,-l,-L,-k,-mオプションをすべて指定しない場合,-xオプションが仮定されます。
-
このコマンドに-xおよび-kオプションを指定した場合は,実行前(ISAMファイルを再編成する前)に,ファイルのバックアップを必ず取得してください。
-
このコマンドに-x,-l,および-kオプションを指定した場合,ISAMファイルを閉じている状態で実行してください(ISAMファイルを閉じるには,jajs_spmd_stopコマンドを実行して,JP1/AJS3の運用を終了してください。また,JP1/AJS3 - Viewを停止してください)。ファイルが開いている状態でこのコマンドを実行した場合,エラーになります。
-
このコマンドに-Lオプションを指定した場合,他プロセスが使用中のISAMファイルに対しても情報を取得できますが,並行してアクセスする他プロセスがISAMファイルを更新した場合,情報取得の瞬間のISAMファイル更新分については誤差が生じます。また,ISAMファイルの整合性を保つため,コマンド実行中は他プロセスのISAMファイルへのアクセスが待たされます。したがって,このコマンドを使用する場合は,スケジューラーサービスの繁忙期を避けてください。
-
-l,-Lオプションで出力される情報は,フラグメンテーションの割合ではなく,未使用領域率です。このため,ISAMファイル中にレコードがない場合や,レコードが非常に少ない件数の場合,まだ使用されていない予約済みの空き領域に対する未使用領域率として「100%」と出力されます。
-
ISAMファイルを再編成しても,未使用領域が完全に再編成されないで,多少残る場合があります。
戻り値
0 |
正常終了。※1 |
1 |
使用するISAMファイルに,未使用領域サイズしきい値以上の未使用領域サイズがある。※2 |
4〜124で4の倍数値 |
異常終了。 |
- 注※1
-
-tオプションと-vオプションを同時に指定している場合,スケジューラーサービスが使用するISAMファイルが,未使用領域サイズしきい値に達していないことを示します。
- 注※2
-
-tオプションと-vオプションを同時に指定している場合だけ,このコードが返ります。
補足事項
-
-lおよび-Lオプション指定時の出力形式を,次に示します。
出力項目を次に示します。
- テーブル名
-
テーブル名称を表示します。
- レコード件数
-
レコード件数を表示します。
- データ
-
データファイルの未使用領域率を表示します。
- キー1
-
一つ目のキーファイルの未使用領域率を表示します。
- キー2
-
二つ目のキーファイルの未使用領域率を表示します。
キーファイルが一つだけの場合は,空白です。
なお,キーファイルが三つ以上の場合はありません。
-
-lおよび-Lオプションと同時に,-aオプションを指定した場合の出力形式を,次に示します。
各テーブルについて,2段で出力されます。上段は,-lオプションおよび-Lオプションと同じです。下段は,それぞれのファイルの未使用領域サイズ(単位:メガバイト(MB),1MB=1,024×1,024バイト)を出力します。
出力項目を次に示します。
- テーブル名
-
テーブル名を表示します。
- レコード件数
-
レコード件数を表示します。
- データ
-
-aオプションを指定した場合は,各テーブルについて2段で出力を行い,上段は,-lまたは-Lオプションを単独で使用した場合と同じ出力です。下段は,未使用領域サイズを出力します。
- フラグメント率
-
可変長レコードでは,レコードを更新すると,ISAMファイル中のデータが,複数のブロックに分かれて格納されることがあります。この項目では,全レコードに対するレコード分割が発生しているレコード件数の割合を出力します。可変長のISAMファイルについてだけ出力されるので,ユニット定義テーブル(BODY),スケジュール定義テーブル(SCH),世代管理テーブル(GEN)以外のテーブルは,「-(ハイフン)」が出力されます。
- キー1
-
-aオプションを指定した場合は,各テーブルについて2段で出力を行い,上段は,-lまたは-Lオプションを単独で使用した場合と同じ出力です。下段は,未使用領域サイズを出力します。
- キー2
-
-aオプションを指定した場合は,各テーブルについて2段で出力を行い,上段は,-lまたは-Lオプションを単独で使用した場合と同じ出力です。下段は,未使用領域サイズを出力します。
- 未使用領域サイズ
-
各ISAMファイルを構成しているデータファイルおよびキーファイルの未使用領域サイズの合計を出力します。
- 未使用領域サイズ合計
-
スケジューラーサービスが使用しているISAMファイルの未使用領域サイズの合計を出力します。
-
-mオプションを指定した場合の出力形式を,次に示します。
出力項目を次に示します。
- テーブル名
-
テーブル名を表示します。
- キー再利用
-
ISAMファイル形式のキー再利用機能が有効となっている場合は,「有効」が出力されます。
ISAMファイル形式が従来形式の場合は,「無効」が出力されます。
- セマフォ番号
-
セマフォ分割されている場合は,セマフォ番号を出力します。
セマフォ分割されていない場合は,「-(ハイフン)」が出力されます。
-
-p,-i,-tオプションの出力先として,j(JP1イベント)を指定した場合,次に示すJP1イベントが出力されます。
指定したオプション
イベントID
イベント名称
イベント発行契機
メッセージID
-p
00004150
スケジューラーデータベース再編成開始イベント
再編成が開始したとき
KAVS1500-I
-p
00004151
スケジューラーデータベース再編成正常終了イベント
再編成が正常終了したとき
KAVS1501-I
-p
00004152
スケジューラーデータベース再編成異常終了イベント
再編成が異常終了したとき
KAVS1502-E
-i
00004153
ISAM未使用領域サイズ情報イベント
ISAM未使用領域サイズ情報取得時
KAVS1503-I
-t
00004154
ISAM未使用領域サイズしきい値到達イベント
ISAM未使用領域サイズしきい値到達時
KAVS1504-W
- 注
-
JP1イベントの詳細については,マニュアル「JP1/Automatic Job Management System 3 運用ガイド 付録A JP1/AJS3が発行するJP1イベント」を参照してください。
-
データベースを再編成時に出力されるデータベース再編成ログを,次に説明します。
ajsdbcondコマンドを実行すると,データベース格納ディレクトリにCONDENSE{1|2}.logファイルを作成し,次に示す統計情報をデータベース再編成ログに出力します。
-
開始時刻,終了時刻,所要時間
-
データベース再編成前の未使用領域サイズ,総ファイルサイズ
-
データベース再編成後の未使用領域サイズ,総ファイルサイズ
出力形式は,HNTRログ形式です。
データベース再編成時の統計情報は,メッセージ「KAVS1510-I CONDENSE: ISAM再編成統計情報」を使用して情報を埋め込み出力します。
出力例
KAVS1500-I スケジューラーサービス(AJSROOT1)のデータベース再編成を開始しました 20XX/10/01 01:05:40 KAVS1510-I CONDENSE: データベース再編成前 未使用領域サイズ:102.020MB 総ファイルサイズ 542.245MB KAVS1510-I CONDENSE: データベース再編成後 未使用領域サイズ:0.100MB 総ファイルサイズ 440.225MB KAVS1501-I スケジューラーサービス(AJSROOT1)のデータベース再編成が正常終了しました 20XX/10/01 01:05:40 - 20XX/10/01 01:20:20 (00:14:40)
-
使用例1
スケジューラーサービス停止中に,スケジューラーサービスAJSROOT1が使用するISAMファイルを再編成する場合。
ajsdbcond -x -F AJSROOT1
使用例2
スケジューラーサービスAJSROOT1の使用するISAMファイルの状態(未使用領域率と未使用領域サイズ・データファイルフラグメント率)を出力する場合。
ajsdbcond -l -a -F AJSROOT1
使用例3
スケジューラーサービスのISAMファイルの情報を標準出力に出力し,未使用領域サイズがしきい値(10メガバイト)に達していたときに,標準エラー出力とWindowsイベントログまたはsyslogにメッセージを出力する場合。
ajsdbcond -L -a -t se,10 -F AJSROOT1