15.14.1 JP1/AJS2のデータベースについて

JP1/AJS2のスケジューラーサービスおよびジョブ実行環境で使用しているそれぞれのデータベースについて説明します。

<この項の構成>
(1) スケジューラーデータベースについて
(2) ジョブ実行環境データベースについて

(1) スケジューラーデータベースについて

スケジューラーサービスでは,データベースとしてISAM,組み込みDBが使用できます。データベース中に格納される情報はどちらのデータベースを使用した場合でもスキーマは同様で,次の表のようになっています。

表15-18 スケジューラーデータベースのテーブル

テーブル名※1内容行長※2
(単位:
 バイト)
可変長※2
(単位:
 バイト)
インデクス数インデクス長※2
(単位:
 バイト)
定義系AJSUNITユニット管理408なし2主キー:4
副キー:36
AJSARROWユニット関連定義52なし112
AJSBODYユニット定義1004~64,00014
AJSSCHスケジュール定義1484~8,19218
AJSCALカレンダー定義1,540なし18
実行系AJSSTATユニット状態1,540なし112
AJSENTRY実行登録764なし18
AJSGEN世代管理1244~64,00018
AJSPERF統計情報120なし2主キー:4
副キー:8
注※1
JP1/AJS2の環境設定で,デフォルトの設定での名称です。
組み込みDBの場合,インデクスはテーブル名称に主キー(副キーの存在しないテーブルを含む)はINDEX1,副キーはINDEX2を付け加えた名称になります。
注※2
可変長テーブルの行長は,レコード先頭固定部の長さを表しています。なお,ディスク上の領域には,このサイズ以外に管理領域が含まれるため,ISAMファイルサイズや表領域サイズとは一致しないため注意してください。
組み込みDBの場合,可変長最大64,000バイトとなるテーブルに32,000バイトのVARCHARフィールドを二つ使用しています。可変長データが32,000バイト以内の場合は2番目のVARCHARフィールドにはサイズ0(SQLLENは1)のデータが格納されます。

テーブルのレコード数および可変長レコードの使用方法を次に示します。なお,スケジューラーデータベースのそれぞれのテーブルは,ユニット定義を格納するもの(「定義系」)と,ジョブネットやジョブの実行予実績を格納するもの(「実行系」)とに分類できます。

(a) 定義系テーブル

定義系テーブルのレコード数および可変長レコードについて説明します。

ユニット管理(AJSUNIT)
JP1/AJS2のユニットの数(ジョブグループ,ジョブネット,ジョブの合計)がレコード数になります。
ユニット関連定義(AJSARROW)
ジョブネット中の関連接続数の合計がレコード数になります。
ユニット定義(AJSBODY)
ジョブの定義数とジョブネットの定義数の合計がレコード数になります。
スケジュール情報およびカレンダー情報を除いた,ユニットの定義情報(コマンド文,スクリプトファイル名など)が可変長データとして格納されます。
スケジュール定義(AJSSCH)
全ジョブネット数 + 全ジョブネットに対して定義したスケジュールルールの総数」がレコード数になります。スケジュール共通情報およびスケジュールルール情報が格納されます。
スケジュール共通情報には,カレンダー参照ユニット名称が,スケジュールルール情報には,スケジュールルールがユニット定義ファイルのパラメーターと同じ形式で可変長データとして格納されます。
カレンダー定義(AJSCAL)
ジョブグループの数 + カレンダーの定義年数」がレコード数になります。

(b) 実行系テーブル

実行系テーブルのレコード数および可変長レコードについて説明します。

ユニット状態(AJSSTAT)
1個の登録済みルートジョブネット当たりで必要なレコード件数は,「(ルートジョブネットおよび下層のネストジョブネット・ジョブの総数) * (保存世代数 + 確定実行登録した予定世代数 + 1)」(保存世代数には,起動条件成立により生成された枝番実行世代数も含みます)です。
登録済みルートジョブネットすべてで算出し,加算した総和が総レコード件数となります。
実行登録(AJSENTRY)
1個の登録済みルートジョブネット当たりで必要なレコード件数は,「ルートジョブネットの保存世代数 + 確定実行登録した予定世代数」です(保存世代数には,起動条件成立により生成された枝番実行世代数も含みます)。登録済みルートジョブネットすべてで算出し,加算した総和 + 1 件がレコード件数になります。
世代管理(AJSGEN)
レコード件数と可変長データへの格納情報は,それぞれの登録済みルートジョブネットに起動条件を使用しているかどうかによって異なります。
起動条件なしのルートジョブネットの場合,「((保存世代数 + 確定実行登録した予定世代数) + 1) * 8(バイト)」の情報 1 件が可変長データへ格納されます。
起動条件ありのルートジョブネットの場合,起動条件なしの場合と同様に,「((保存世代数 + 確定実行登録した予定世代数) + 1) * 8(バイト)」の情報が 1 件と,「((起動条件成立ごとに生成される枝番実行世代数) * 8(バイト)」の情報が保存世代数分,可変長データへ格納されます。
登録済みルートジョブネットすべてでレコード件数を算出し,加算した総和が総レコード件数となります。
統計情報(AJSPERF)
実行登録されているユニットの総数がレコード数になります。

(c) スケジューラーデータベースに関する補足事項

(2) ジョブ実行環境データベースについて

ジョブ実行環境のデータベースはISAMを使用しています。jpqimportコマンドや動的構成定義変更によって定義されたエージェント,キュー,および排他実行リソースの定義情報や登録されてから終了するまでのジョブの情報や状態を管理しています。ジョブ実行環境で使用するデータベーステーブルの詳細について次の表に示します。

表15-19 ジョブ実行環境で使用するデータベースのテーブル

テーブル名内容行長
(単位:バイト)
可変長
(単位:バイト)
キー数
JPQSYSINFOシステム制御情報28なし1
JPQAGTINFOエージェント定義情報524なし2
JPQSCHINFOスケジュール(実行多重度)情報12なし1
JPQQUEINFOキュー定義情報280なし2
JPQCONINFOキューエージェント接続情報12なし1
JPQRESINFO排他実行リソース定義情報68なし2
JPQJOBINFOジョブ定義情報5,860なし2
JPQJOBCTRLジョブ制御情報656なし2
JPQENVINFO環境変数情報5164以上1
JPQTRANSINFO転送ファイル情報1,036なし1
JPQNFYINFO状態通知情報(クライアント名,通知先,ポートIDなど)540なし1
注※
可変長があるテーブルは,可変長部分以外のフィールドの長さの合計を表しています。

また,ジョブ実行環境データベースは,デフォルトで同期書き込みモードになっています。このモードで使用すると,ジョブ実行環境データベース内の書き込み順序が保証でき,信頼性が向上します。データファイル更新モードの設定については,マニュアル「JP1/Automatic Job Management System 2 セットアップガイド 4.1.3 スケジューラーファイルの構成を定義する」,またはマニュアル「JP1/Automatic Job Management System 2 セットアップガイド 14.2.2 マネージャー環境(JP1/AJS2 - Manager)で設定する内容」を参照してください。

補足事項
ジョブ実行環境データベースのISAMファイルには,直接シンボリックリンクを作成しないでください。再編成の処理を行う際,ISAMファイルの移動,再作成を行うため,シンボリックリンクが切れてしまい,ISAMファイルがデータベース格納ディレクトリに新たに作成されてしまいます。
データベース格納ディレクトリのファイルは,ディレクトリで管理を行っているため,シンボリックリンクを作成したい場合は,データベース格納ディレクトリを指定して作成してください。