ajsdbcond
形式
ajsdbcond
[-F サービス名]
[[-m] |
[[-x][-k]
[-d ディレクトリ名][-p {出力先}]]|
[[{-l|-L} [-a] [[-i {出力先}]|
[-t {出力先,未使用領域サイズしきい値} [-v]]]]
|[-t {出力先,未使用領域サイズしきい値} [-v]]]]
機能
- スケジューラーサービスが使用するISAMファイルの未使用領域率が高くなった場合などに,無効領域を圧縮し,ファイルを再編成します。
- スケジューラーサービスが使用するISAMファイルの未使用領域率や,データファイルフラグメント率および未使用領域サイズを標準出力に出力します。
ISAMファイルの未使用領域率については,スケジューラーサービスがISAMファイルを使用中の場合でも,情報を表示できます。
- スケジューラーサービスが使用するISAMファイルの次に示す情報を,指定した出力先にメッセージとして出力できます。
・再編成時の情報(開始・終了時刻,統計情報)
・未使用領域サイズ
・未使用領域サイズがしきい値に達していた
メッセージの出力先は,次の中から単独で指定することも,幾つか組み合わせて指定することもできます。
・標準エラー出力
・イベントログ(Windowsの場合)またはSyslog(UNIXの場合)
・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(UNIXの場合)
- j:JP1イベント
このオプションを指定したときの,メッセージの出力例を次に示します。
- (例1)再編成開始時
KAVS1500-I スケジューラーサービス(AJSROOT1)のデータベース再編成を開始しました 2006/10/01 01:05:40
- (例2)再編成正常終了時
KAVS1501-I スケジューラーサービス(AJSROOT1)のデータベース再編成が正常終了しました 2006/10/01 01:05:40 - 2006/10/01 01:20:20 (00:14:40)
- 開始日時,終了日時,経過時間,実施前後の未使用領域サイズをあわせて出力します。
- (例3)再編成異常終了時
KAVS1502-E スケジューラーサービス(AJSROOT1)のデータベース再編成が異常終了しました 2006/10/01 01:05:40 - 2006/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(UNIXの場合)
- j:JP1イベント
このオプションを指定したときの,メッセージの出力例を次に示します。
- (例)
KAVS1503-I スケジューラーサービス(AJSROOT1)のISAM未使用領域サイズは 99MBです
-t {出力先,未使用領域サイズしきい値}
スケジューラーサービスが使用するISAMファイルが,指定した未使用領域サイズしきい値に達していた場合,メッセージを出力します。
このオプションを使用して,スケジューラーサービスが繁忙期でないときに,JP1/AJS2のジョブとしてajsdbcondコマンドをスケジュール実行することで,定期的にISAMファイルの状態を確認して,警告メッセージを出力できます。
- 出力先
メッセージの出力先を,次の中から指定します。
出力先は,単独で指定することも,幾つか組み合わせて指定することもできます。
- e:標準エラー出力
- s:イベントログ(Windowsの場合)またはSyslog(UNIXの場合)
- j:JP1イベント
- 未使用領域サイズしきい値
ISAMファイルの未使用領域サイズしきい値を指定します。
指定できる値は,1~1024(単位:メガバイト(MB),1MB=1,024×1,024バイト)です。
このオプションを指定したときの,メッセージの出力例を次に示します。
- (例)
KAVS1504-W スケジューラーサービス(AJSROOT1)のISAM未使用領域サイズは101MBで,しきい値(100MB)に達しています
-v
未使用領域率に達していたかいないかを,このコマンドの戻り値(プロセス終了コード)に設定する場合に指定します。
このオプションは,-tオプションと同時に指定します。
注意事項
- ファイルをバックアップして保存した上で,再編成を実施してください。ajsdbcondコマンドは,-dオプションで指定したディレクトリを作業ディレクトリとして使用します。作業ディレクトリがあるドライブまたはパーティションには,再編成対象のスケジューラーサービスのISAMキーファイルの中で最もサイズが大きいキーファイルの2倍以上の空き容量が必要です。また,スケジューラーサービスのデータベースディレクトリがあるドライブまたはパーティションには,再編成対象のスケジューラーサービスのISAMファイルの中で最もサイズが大きいファイルと同程度の空き容量が必要です。
-dオプションを指定しない場合は,OSの標準的なワークディレクトリを使用します。JP1/BaseのJiscondコマンドについての説明を参照してください。
- -x,-t,-l,-L,-k,-mオプションをすべて指定しない場合,-xオプションが仮定されます。
- このコマンドに-xおよび-kオプションを指定した場合は,実行前(ISAMファイルを再編成する前)に,ファイルのバックアップを必ず取得してください。
- このコマンドに-x,-l,および-kオプションを指定した場合,ISAMファイルを閉じている状態で実行してください(ISAMファイルを閉じるには,ajsstopコマンドを実行して,JP1/AJS2の運用を終了してください。また,JP1/AJS2 - ViewおよびJP1/AJS2 Console Agentサービスを停止してください)。ファイルが開いている状態でこのコマンドを実行した場合,エラーになります。
- このコマンドに-Lオプションを指定した場合,ほかのプロセスが使用中のISAMファイルに対しても情報を取得できますが,並行してアクセスするほかのプロセスがISAMファイルを更新した場合,情報取得の瞬間のISAMファイル更新分については誤差が生じます。また,ISAMファイルの整合性を保つため,コマンド実行中はほかのプロセスのISAMファイルへのアクセスが待たされます。したがって,このコマンドを使用する場合は,スケジューラーサービスの繁忙期を避けてください。
- -l,-Lオプションで出力される情報は,フラグメンテーションの割合ではなく,未使用領域率です。このため,ISAMファイル中にレコードがない場合や,レコードが非常に少ない件数の場合,まだ使用されていない予約済みの空き領域に対する未使用領域率として「100%」と出力されます。
- ISAMファイルを再編成しても,未使用領域が完全に再編成されないで,多少残る場合があります。
- Windows Server 2008のホストでこのコマンドを実行する際には,コマンドプロンプトを管理者として起動する必要があります。コマンドプロンプトを起動する際は,Windowsの[スタート]メニューの[コマンドプロンプト]を右クリックし,ショートカットメニューから[管理者として実行]を選択してください。UAC機能が無効の場合は,コマンドプロンプトを管理者として起動する必要はありません。
戻り値
0 | 正常終了。※1 |
1 | 使用するISAMファイルに,未使用領域サイズしきい値以上の未使用領域サイズがある。※2 |
4~124で4の倍数値 | 異常終了。 |
- 注※1
- -tオプションと-vオプションを同時に指定している場合,スケジューラーサービスが使用するISAMファイルが,未使用領域サイズしきい値に達していないことを示します。
- 注※2
- -tオプションと-vオプションを同時に指定している場合だけ,このコードが返ります。
補足事項
- -lおよび-Lオプション指定時の出力形式を,次に示します。
![[図データ]](figure/zuo01030.gif)
出力項目を次に示します。
- テーブル名
- テーブル名称を表示します。
- レコード件数
- レコード件数を表示します。
- データ
- データファイルの未使用領域率を表示します。
- キー1
- 一つ目のキーファイルの未使用領域率を表示します。
- キー2
- 二つ目のキーファイルの未使用領域率を表示します。
- キーファイルが一つだけの場合は,空白です。
なお,キーファイルが三つ以上の場合はありません。
- -lおよび-Lオプションと同時に,-aオプションを指定した場合の出力形式を,次に示します。
![[図データ]](figure/zuo01040.gif)
各テーブルについて,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オプションを指定した場合の出力形式を,次に示します。
![[図データ]](figure/zuo01045.gif)
出力項目を次に示します。
- テーブル名
- テーブル名を表示します。
- キー再利用
- 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 2 解説 付録B JP1/AJS2が発行するJP1イベント」を参照してください。
- データベースを再編成時に出力されるデータベース再編成ログを,次に説明します。
ajsdbcondコマンドを実行すると,データベース格納ディレクトリにCONDENSE{1|2}.logファイルを作成し,次に示す統計情報をデータベース再編成ログに出力します。
- 開始時刻,終了時刻,所要時間
- データベース再編成前の未使用領域サイズ,総ファイルサイズ
- データベース再編成後の未使用領域サイズ,総ファイルサイズ
出力形式は,HNTRログ形式です。
データベース再編成時の統計情報は,メッセージ(KAVS1510-I)を使用して情報を埋め込み出力します。
- 出力例
KAVS1500-I スケジューラーサービス(AJSROOT1)のデータベース再編成を開始しました 2006/10/01 01:05:40
KAVS1510-I CONDENSE: データベース再編成前 未使用領域サイズ:102.020MB 総ファイルサイズ 542.245MB
KAVS1510-I CONDENSE: データベース再編成後 未使用領域サイズ:0.100MB 総ファイルサイズ 440.225MB
KAVS1501-I スケジューラーサービス(AJSROOT1)のデータベース再編成が正常終了しました 2006/10/01 01:05:40 - 2006/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ファイルの情報を標準出力に出力し,未使用領域サイズがしきい値(10MB)に達していたときに,標準エラー出力とsyslog(イベントログ)にメッセージを出力する場合。
ajsdbcond -L -a -t se,10 -F AJSROOT1