Hitachi

JP1 Version 12 JP1/Automatic Job Management System 3 設計ガイド(システム構築編)


2.6.3 JP1/AJS3のデータベーステーブル

JP1/AJS3のスケジューラー制御,ジョブ実行制御,およびエージェント管理制御が使用しているデータベースについて説明します。

なお,サブミットジョブ実行制御が使用するQUEUEジョブ,サブミットジョブ用データベースについては,「7.1.3 QUEUEジョブ,サブミットジョブ用データベースについて検討する」を参照してください。

〈この項の構成〉

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

スケジューラー制御およびジョブ実行制御が使用するスケジューラーデータベース中に格納される情報は,次の表のようになっています。

表2‒48 スケジューラーデータベースのテーブル

テーブル名※1

内容

行長※2

(単位:バイト)

可変長※2

(単位:バイト)

インデクス数

インデクス長※2

(単位:バイト)

定義系

AJSUNIT

ユニット管理

408

(640)※3

なし

2

主キー:4

副キー:36

AJSARROW

ユニット関連定義

52

なし

1

12

AJSBODY

ユニット定義

1,024

4〜64,000

1

4

AJSSCH

スケジュール定義

148

(208)※3

4〜8,192

1

8

AJSCAL

カレンダー定義

1,540

なし

1

8

AJSRELS

リリース定義

1,180

なし

3

主キー:36

副キー:8

副キー:8

実行系

AJSSTAT

ユニット状態

1,540

(1,720)※3

なし

1

12

AJSENTRY

実行登録

764

なし

1

8

AJSGEN

世代管理

124

4〜32,000※4

4〜64,000※4

1

8

AJSPERF

統計情報

120

なし

2

主キー:4

副キー:8

AJSID

ID管理

76

なし

1

8

AJSJINF※5

ジョブ情報

320

1〜15,728,640

1

16

管理用

AJSDBOWNER※6

データベース管理

28

なし

1

4

注※1

JP1/AJS3の環境設定で,デフォルトの設定での名称です。外部DBの場合は,「AJS」の部分は「AJS1」です。

組み込みDBまたは外部DBの場合,インデクスはテーブル名称に主キー(副キーがないテーブルを含む)はINDEX1,副キーはINDEX2,INDEX3を付け加えた名称になります。

注※2

可変長テーブルの行長は,レコード先頭固定部の長さを表しています。外部DBの場合は,データの内容によって,表の値より小さくなります。

なお,ディスク上の領域にはこのサイズ以外に管理領域が含まれ,表領域サイズとは一致しないため注意してください。

組み込みDBの場合,JP1/AJS3のデータベースは可変長最大64,000バイトで,一つのデータを構成するフィールドと,それ以外の可変長フィールドがあります。可変長最大64,000バイトとなるフィールドはVARCHARフィールドを二つ使用しています。このフィールドに格納される可変長データが32,000バイト以内の場合,2番目のVARCHARフィールドにはサイズ0(SQLLENは1)のデータが格納されます。

注※3

( )内の値は,ajsembdbsetupコマンドに-e sjisオプションを指定してスケジューラーデータベースをセットアップした場合の値です。

詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス 2. セットアップコマンド ajsembdbsetup」を参照してください。

注※4

世代管理テーブルには,二つの可変長領域が定義されています。

注※5

JP1/AJS3 - Managerでバックアップ強化機能を有効にしている場合または外部DBの場合だけ存在します。

注※6

JP1/AJS3 - Managerで外部DBを利用している場合だけ存在します。

各テーブルのレコード数および可変長レコードの使用方法を次に示します。

なお,スケジューラーデータベースのそれぞれのテーブルは,ユニット定義を格納するもの「定義系」と,ジョブネットやジョブの実行予実績を格納するもの「実行系」と,データベースの管理に使用する「管理用」とに分類できます。

(a) 定義系テーブル

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

ユニット管理(AJSUNIT)

JP1/AJS3のユニットの数(ジョブグループ,ジョブネット,ジョブの合計)がレコード数になります。

ユニット関連定義(AJSARROW)

ジョブネット中の関連接続数の合計がレコード数になります。

ユニット定義(AJSBODY)

ジョブの定義数とジョブネットの定義数の合計がレコード数になります。

スケジュール情報およびカレンダー情報を除いた,ユニットの定義情報(コマンド文,スクリプトファイル名など)が格納されます。

スケジュール定義(AJSSCH)

スケジュール定義には,複数の情報が格納されます。

次に示す情報のレコード数の総和が,格納されているレコード数です。

  • スケジュール情報

    全ジョブネット数 + 全ジョブネットに対して定義したスケジュールルールの総数」がレコード数になります。スケジュール共通情報およびスケジュールルール情報が格納されます。

    スケジュール共通情報には,カレンダー参照ユニット名称が,スケジュールルール情報には,スケジュールルールがユニット定義ファイルのパラメーターと同じ形式で可変長データとして格納されます。

  • ジョブネットコネクタ情報

    ジョブネットコネクタ数 + 接続先ジョブネット数」がレコード数になります。接続先ジョブネットのフルパス名,接続先ホスト名,および接続先スケジューラーサービス名が可変長データとして格納されます。

  • 待ち合わせ情報

    待ち合わせ条件付きユニットの総数 + 全ユニットに対して設定した待ち合わせ条件の総数」がレコード数になります。待ち合わせ共通情報および待ち合わせ対象ユニット情報が格納されます。

    待ち合わせ対象ユニット情報には,待ち合わせ対象ユニットのユニット完全名が,ユニット定義ファイルのパラメーターと同じ形式で可変長データとして格納されます。

カレンダー定義(AJSCAL)

ジョブグループの数 + カレンダーの定義年数」がレコード数になります。

リリース定義(AJSRELS)

リリース登録されたジョブネットの数 + リリース登録の回数」がレコード数になります。リリース定義のレコードは,リリース登録されたジョブネットの状態によってはJP1/AJS3が自動的に削除するため,レコード数にばらつきが生じることがあります。

(b) 実行系テーブル

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

ユニット状態(AJSSTAT)

1個の登録済みルートジョブネット当たりで必要なレコード件数は,「(ルートジョブネットおよび下層のネストジョブネット・ジョブの総数) * (保存世代数 + 確定実行登録した予定世代数 + 1)」(保存世代数には,起動条件成立によって生成された枝番実行世代数も含みます)です。

登録済みルートジョブネットすべてで算出し,加算した総和が総レコード件数となります。

実行登録(AJSENTRY)

1個の登録済みルートジョブネット当たりで必要なレコード件数は,「ルートジョブネットの保存世代数 + 確定実行登録した予定世代数」です(保存世代数には,起動条件成立によって生成された枝番実行世代数も含みます)。登録済みルートジョブネットすべてで算出し,加算した総和 + 1 件がレコード件数になります。

世代管理(AJSGEN)

レコード件数と可変長データへの格納情報は,それぞれの登録済みルートジョブネットに起動条件を使用しているかどうか,および待ち合わせ条件を使用しているかどうかによって異なります。

起動条件なしのルートジョブネットの場合,「((保存世代数 + 確定実行登録した予定世代数) + 1) * 8」(単位:バイト)の情報1件が可変長データ(4〜64,000)へ,「ルートジョブネットにリリース登録されているリリースIDの数 * 4」(単位:バイト)が可変長データ(4〜32,000)へ格納されます。

起動条件ありのルートジョブネットの場合,起動条件なしの場合と同様に,「((保存世代数 + 確定実行登録した予定世代数) + 1) * 8」(単位:バイト)の情報が1件と,「(起動条件成立ごとに生成される枝番実行世代数) * 8」(単位:バイト)の情報が保存世代数分,可変長データ(4〜64,000)へ格納されます。

待ち合わせ条件付きユニットが登録済みの場合,「登録済みの待ち合わせ条件付きユニットの数保存世代数」分のレコードが追加され,レコードごとに「待ち合わせ条件の設定数 * 56」(単位:バイト)の情報が可変長データ(4〜32,000)へ格納されます。

登録済みルートジョブネット,および登録済み待ち合わせ条件付きユニットすべてでレコード件数を算出し,加算した総和が総レコード件数となります。

統計情報(AJSPERF)

実行登録されているユニットの総数がレコード数になります。

ID管理(AJSID)

実行中のユニットの総数がレコード数になります。

ジョブ情報(AJSJINF)

保存世代数 * (ルートジョブネット配下にあるすべてのジョブ(イベントジョブ含む)の数 * 2 + ルートジョブネット配下にあるすべてのイベントジョブの数)」がレコード数になります。

(c) 管理用テーブル

管理用テーブルのレコード数について説明します。

データベース管理(AJSDBOWNER)

レコード数は1です。

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

電源ダウンなどの理由でスケジューラーサービスが正しく計画停止されない場合は,次回起動時にメッセージKAVS0211-WをWindowsイベントログ,またはsyslogに出力して続行します。ジョブが実行中に不正に停止されたおそれがあるため,ジョブの状態を確認してください。

(2) エージェント管理用データベースについて

エージェント管理制御が使用するエージェント管理用データベースでは,実行エージェントや実行エージェントグループの定義情報を管理しています。エージェント管理用データベースのデータベーステーブルについて,次の表に示します。

表2‒49 エージェント管理用データベースのテーブル

テーブル名

内容

行長

(単位:バイト)

可変長

(単位:バイト)

キー数

インデクス数

インデクス長(単位:バイト)

AJSEXECAGT

実行エージェント定義

952

なし

1

1

4

AJSAGTEXECCNT

ジョブ実行多重度定義

20

なし

1

1

8

AJSEXECAGTGRP

実行エージェントグループ定義

696

なし

1

1

4

AJSLINKAGT

接続先実行エージェント定義

20

なし

1

1

8

AJSAGTDBOWNER

データベース管理

28

なし

1

1

4

注※

外部DBの場合だけ存在します。

各テーブルのレコード数を次に示します。

実行エージェント定義(AJSEXECAGT)

定義されている実行エージェント数がレコード数になります。

ジョブ実行多重度定義(AJSAGTEXECCNT)

定義されている実行エージェント数 * 48」がレコード数になります。

実行エージェントグループ定義(AJSEXECAGTGRP)

定義されている実行エージェントグループ数がレコード数になります。

接続先実行エージェント定義(AJSLINKAGT)

各実行エージェントグループに接続されている実行エージェントの総和がレコード数になります。

データベース管理(AJSAQGTDBOWNER)

レコード数は1です。