付録C.1 組み込みDBを使用する場合の準備

ここでは,JP1/AJS3 - Managerのスケジューラーデータベースとして組み込みDBを使用する場合の準備について説明します。

<この項の構成>
(1) 組み込みDBのセットアップ手順
(2) 組み込みDB稼働環境と運用方法の検討

(1) 組み込みDBのセットアップ手順

組み込みDBのセットアップ手順を次に示します。

図C-1 組み込みDBのセットアップ手順

[図データ]

(2) 組み込みDB稼働環境と運用方法の検討

(a) 稼働環境

組み込みDBが稼働する環境条件として,次の項目について検討および確認します。

●システム構成

非クラスタ構成(物理ホスト)とするか,またはクラスタ構成(論理ホスト)とするかを検討します。組み込みDBだけでなく,JP1/AJS3サービスの全体構成としての環境条件となります。

●環境構築規模

JP1/AJS3の運用規模に合わせて,組み込みDB環境を構築する規模を三つ(小規模,中規模,大規模)の中から選択します。それぞれの規模の目安について,次の表に示します。

表C-1 組み込みDB環境構築規模の目安

規模ユニット数1日に実行される
ジョブ・ジョブネット数
保存世代数
小規模5,000以下5,000以下5以下
中規模5,000~48,0005,000~30,0005以下
大規模48,000~240,00030,000~120,0005以下
ajsembdbsetupコマンドに-e sjisオプションを指定してスケジューラーサービスのデータベースをセットアップした場合は,次の通りです。

表C-2 組み込みDB環境構築規模の目安(ajsembdbsetupコマンドに-e sjisオプションを指定した場合)

規模ユニット数1日に実行される
ジョブ・ジョブネット数
保存世代数
小規模4,000以下4,000以下4以下
中規模4,000~38,4004,000~24,0004以下
大規模38,400~192,00024,000~96,0004以下

運用規模が大規模を超える場合は,組み込みDB環境を大規模で構築し,そのあと環境の拡張を実施してください。

組み込みDB環境の拡張については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス1 2. コマンド ajsembdbaddarea」を参照してください。

●システムファイル領域

組み込みDBで使用するシステムファイルの二重化実施の有無について検討します。システムファイルを二重化すると,必要なディスク容量は増加しますが,ディスク障害が発生した場合に障害時点まで復旧できます。

組み込みDBの稼働環境ごとに必要なディスク容量を次の表に示します。項番1~24から一つを選択してください。

表C-3 組み込みDB稼働環境ごとの必要ディスク容量

項番組み込みDB稼働環境必要ディスク容量(単位:メガバイト)
システム構成環境構築規模RAWファイルの使用※1システムファイルの二重化システム領域※2データ領域システムファイル領域作業領域合計※3
1非クラスタ小規模なしなし170※4200320520
2あり640840
3ありなし32040560
4あり640880
5中規模なしなし1,4002,8004,200
6あり5,6007,000
7ありなし2,800404,240
8あり5,6007,040
9大規模なしなし6,70014,00020,700
10あり28,00034,700
11ありなし14,0004020,740
12あり28,00034,740
13クラスタ小規模なしなし170※4,※520032040*2※6600
14あり640920
15ありなし320600
16あり640920
17中規模なしなし1,4002,8004,280
18あり5,6007,080
19ありなし2,8004,280
20あり5,6007,080
21大規模なしなし6,70014,00020,780
22あり28,00034,780
23ありなし14,00020,780
24あり28,00034,780
(凡例)
-:作成先は指定できません。
注※1
UNIXの場合に限ります。
注※2
システム領域は,JP1/AJS3のインストールされているディスクまたはajsembdbinstlコマンドの-iオプションに指定したディレクトリに作成されます。ajsembdbinstlコマンドについては,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス2 2. セットアップコマンド ajsembdbinstl」を参照してください。
注※3
この値にシステム領域は含まれていません。
注※4
この値は,OSによって変化します。

OS容量(メガバイト)
Windows,Windows(IPF)170
HP-UX(IPF)400
Solaris260
AIX200
Linux210
Linux(IPF)280
注※5
クラスタ構築時は,組み込みDBを実行系および待機系それぞれにインストールする必要があります。
注※6
クラスタ構成時の作業領域は,共有ディスク上ではなくローカルディスク上に作成する必要があるため,実行系および待機系それぞれに必要です。

●動作環境

次に示す組み込みDBの動作環境について検討します。

次に示すシステム定義のオペランドについて説明します。

JP1/AJS3で組み込みDBを使用している場合は,通常組み込みDBのシステム定義を変更する必要がありません。問題が発生したときに,必要に応じて設定を変更してください。なお,[ ](角括弧)で囲まれているオペランドは,組み込みDBのセットアップ時点では記載されていないため,必要に応じて追記してください。

システム共通定義

組み込みDBシステム管理者が設定値を変更できるシステム共通定義のオペランドについて説明します。システム共通定義ファイルのパス名を次に示します。このファイル中に設定されているオペランドの値を変更してください。

 

番号形式
1set pd_max_users = 最大同時接続数
2[set pd_service_port = クライアント接続用ポート番号]
3set pd_mode_conf = 組み込みDBの開始方法
4[set pd_utl_exec_time = 組み込みDBを操作するコマンドの実行監視時間]
5putenv TZ タイムゾーン
1) pd_max_users = 最大同時接続数
~〈符号なし整数〉((1~2000))
組み込みDBに対する最大同時接続数を変更する場合に,このオペランドの設定値を変更します。このオペランドには,組み込みDBに対する最大同時接続数を指定します。組み込みDBへの接続要求数がこのオペランドの値を超えると,組み込みDBはそれ以上の接続要求を受け付けません(接続要求はエラーになります)。なお,JP1/AJS3では128を設定しています。
注意事項
  • データベースを操作するコマンドを実行した場合,コマンドごとに組み込みDBの接続数を消費するため注意が必要です。
    組み込みDBへの接続数は,次のようにカウントされます。
    JP1/AJS3の動作接続数のカウント
    JP1/AJS3 - Managerの起動2
    スケジューラーサービスの起動4
    ユニットを操作するコマンドの実行1
    JP1/AJS3 - Viewからの接続参照したスケジューラーサービス数
    組み込みDBを操作するコマンドの実行2
  • pd_max_usersの設定値を500より大きくする場合は,シンクポイントダンプファイルを拡張する必要があります。ajsembdbaddlogコマンドに-s 7,-r spdオプションを指定して3回実行し,シンクポイントダンプファイルを拡張してください。ajsembdbaddlogコマンドの指定例を次に示します。

    ajsembdbaddlog -s 7 -r spd -id _JF0 -d 任意のディレクトリ名称

    ajsembdbaddlogコマンドに指定するオプションは,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス1 2. コマンド ajsembdbaddlog」を参照してください。
2) pd_service_port = クライアント接続用ポート番号
~〈符号なし整数〉((5001~65535))
組み込みDBサーバ側にファイアウォールが設置されている場合に,クライアント接続用ポート番号を指定します。指定するポート番号の規則を次に示します。
  • ホスト内でユニークなポート番号
運用方法
  • JP1/AJS3連携製品を使用する場合,必要に応じて設定してください。JP1/AJS3 - Managerではこのオペランドは使用しないので,設定する必要はありません。
  • 同一マシン上で複数のサーバ,または複数のユニットを開始する場合は,それぞれの組み込みDBで異なったポート番号を指定してください。
注意事項
OSが自動的に割り当てるポート番号の範囲とは異なる番号を指定してください。OSが自動的に割り当てるポート番号の範囲はOSによって異なります。OSが自動的に割り当てるポート番号の範囲内の番号を指定した場合,その番号はほかのプログラムに使用されているおそれがあります。使用されていた場合,組み込みDBを開始できません。
3) pd_mode_conf = 組み込みDBの開始方法
組み込みDBの開始方法を指定します。設定値を次に示します。
  • AUTO
    OSを起動したときに自動で組み込みDBを開始します。組み込みDBが異常終了した場合も,自動で再開始します。
  • MANUAL1
    OSを起動したときに自動で組み込みDBを開始しません。ただし,組み込みDBが異常終了した場合にかぎり,自動で再開始します。
  • MANUAL2
    OSを起動したときに自動で組み込みDBを開始しません。MANUAL1とは異なり,組み込みDBが異常終了した場合でも自動で再開始しません。
4) pd_utl_exec_time = 組み込みDBを操作するコマンドの実行監視時間
~<符号なし整数>((0~35791394))《0》(単位:分)
次の組み込みDBを操作するコマンドの実行時間を監視する場合,その監視時間を分単位で指定します。
ajsembdbreclaimコマンド
ajsembdbrorgコマンド
このオペランドで指定した監視時間を超えてもコマンドが終了しない場合,標準エラー出力にKAVS2117-Eメッセージを出力して実行中のコマンドは異常終了します。
《利点》
夜間バッチジョブなどでコマンド実行中に何らかの障害(通信障害またはディスク障害など)によって,コマンドが無応答状態になった場合に,指定した時間でコマンドを異常終了させることができます。
《指定値の目安》
このオペランドは無応答障害の対処を目的とし,データベースのメンテナンス処理時間の監視を目的としていません。したがって,このオペランドの指定値にはコマンド実行時間の実績値の最大値に余裕を持たせた値を指定してください。例えば,ajsembdbreclaimコマンドの最大実行時間が60分程度で,ajsembdbrorgコマンドの最大実行時間が90分程度の場合,pd_utl_exec_time=120と余裕を持った値を指定してください。これは,通常90分で終了する処理が30分過ぎても応答が返ってこないのは無応答障害のおそれがあると判断しています。なお,上記例の30分は,1スケジューラーデータベースとエージェント管理用データベースを対象にメンテナンスすることを想定した値です。メンテナンス処理では,ほかのデータベースアクセス(ジョブ実行やユニットを操作するコマンドなどの処理)があった場合,それらの処理の完了を1分間の待ち合わせを行います。そのため,加算する時間の目安としては,(処理対象のテーブル数*2*1)分で見積もった値に余裕をみた時間を指定してください。組み込みDBに作成するテーブルについては,マニュアル「JP1/Automatic Job Management System 3設計ガイド(システム構築編)2.6.3 JP1/AJS3のデータベーステーブル」を参照してください。
5) TZ タイムゾーン
~〈文字列〉
組み込みDB関連のメッセージ(KFPで始まるメッセージ)の日付・時刻情報のタイムゾーンを指定します。デフォルトは「JST-9」です。
このオペランドには,OSのタイムゾーンと同じ値を指定してください。

シングルサーバ定義

組み込みDBシステム管理者が設定値を変更できるシングルサーバ定義のオペランドについて説明します。シングルサーバ定義ファイルのパス名を次に示します。このファイル中に設定されているオペランドの値を変更してください。

 

番号形式
1set pd_lck_pool_size = 排他制御用プールサイズ
1) pd_lck_pool_size = 排他制御用プールサイズ
~〈符号なし整数〉(単位:キロバイト)((1~2000000))
ユニットの操作や組み込みDB操作コマンドの実行をする場合に,組み込みDB内の排他制御で使う共有メモリー領域の大きさをキロバイト単位で指定します。
なお,JP1/AJS3ではajsembdbbuildコマンドで指定した規模によって,次の表に示す値を設定しています。
規模ajsembdbbuildコマンドのオプション排他制御用プールサイズ
大規模-l60,000
中規模-m37,500
小規模-s15,000
運用方法
コマンドの実行やJP1/AJS3 - Viewの操作で一度に大量のユニットを操作した場合,統合ログ,syslog,またはWindowsイベントログにメッセージKAVS0902-Eが出力され,操作が異常終了することがあります。
この場合は,組み込みDB内の排他制御で使用するメモリー領域が不足していることがあるため,次の内容を見直してください。
  1. ajsdefineコマンドで定義またはajsdeleteコマンドで削除しようとしているユニット定義のうち,最上位に定義されるユニットとその配下のユニット総数
  2. ajscopyコマンドまたはJP1/AJS3 - Viewでのユニットのコピー操作で,コピー元として指定したユニットとその配下のユニット総数
  3. ajsrestoreコマンドまたはJP1/AJS3 - Viewでの回復操作で,回復対象のユニットとその配下のユニット総数
  4. ajsreleaseコマンドまたはJP1/AJS3 - Viewでのリリース操作で,リリース元として指定したルートジョブネットとその配下のユニット総数
  5. ajsentryコマンドまたはJP1/AJS3 - Viewでの実行登録操作で,指定したルートジョブネットとその配下のユニット総数,または指定したジョブグループ配下に定義されたルートジョブネットとその配下のユニット総数
  6. ajsrerunコマンドまたはJP1/AJS3 - Viewでの再実行で,指定したジョブネットとその配下のユニット総数
  7. ajssuspendコマンドまたはJP1/AJS3 - Viewでサスペンド解除したルートジョブネットに追加したユニット総数
pd_lck_pool_sizeに指定した値と,次に示す式によって求めた値を比較し,pd_lck_pool_sizeの値が小さい場合は,式で求めた値に変更してください。
式で求めた値の方が小さい場合は,JP1/AJS3として必要なメモリーが不足していることが考えられます。マニュアル「JP1/Automatic Job Management System 3 設計ガイド(システム構築編) 3. 見積もり」を確認し,メモリーの値を見直してください。
  • 上記1.,2.,3.,4.の場合
    (a + b + c + d) / 4*1.2

    a:(ジョブグループの総数*2) + ジョブグループに定義されているカレンダー定義年数の総数
    b:(ジョブネットの総数*2) + 全ジョブネットに対して定義されているスケジュールルールの総数
    c:ジョブの総数*2
    d:ジョブ・ジョブネットに定義された関連線接続数の総数
  • 上記5.,6.,7.の場合
    e / 4*1.2

    e:ジョブ,ジョブネットの総数*3
計算で使用するジョブネットがジョブネットリリース機能を使用している場合,計算には操作対象のジョブネット定義を使用してください。
注意事項
  • このオペランドの指定値を大きい値に変更して,一度にデータベースの規模の目安以上のユニット数を操作すると,イベントログまたはsyslogにKFPS01220-Eメッセージを出力して組み込みDBが異常終了することがあります。そのため,一度に操作するユニット数を少なくするか,より大きい規模の組み込みDB環境の構築を検討してください。
    ユニット数の目安については,「付録B.1 データベース領域の見積もり」を参照してください。
  • このオペランドの指定値を大きい値に変更すると,変更した分だけ組み込みDBのメモリー使用量が増加します。そのため,値を変更する場合は事前にメモリーに余裕があることを確認してください。
    また,UNIXの場合,このオペランドの指定値を大きい値に変更したときは,システムリソースを調整してください。調整が必要なシステムリソースについては,リリースノートを参照してください。
    このオペランドの指定値が小さ過ぎると,JP1/AJS3のアクセスがエラーリターンすることがあります。

・システム定義の変更方法

システム定義の変更方法を次に示します。

  1. JP1/AJS3サービスを停止する。
  2. 操作対象の組み込みDBの起動状態を確認する。

    ajsembdbstatus -s ust -id _JF0

  3. 操作対象の組み込みDBが起動している場合,組み込みDBの正常停止を行う。停止している場合,一度起動してから正常停止を行う。
    組み込みDBを起動する場合

    ajsembdbstart -id _JF0

    組み込みDBを正常停止する場合

    ajsembdbstop -id _JF0

  4. システム共通定義,またはシングルサーバ定義ファイルをテキストエディターで開く。
    問題が発生した場合に備えて,更新対象となるファイルのバックアップを取得してください。
  5. オペランドの値を変更する。
  6. 手順5で編集した内容を保存してファイルを閉じる。
  7. クラスタ構成の場合は,変更したシステム共通定義,またはシングルサーバ定義ファイルを待機系ホストにコピーする。
  8. JP1/AJS3サービスを開始する。

このとき,組み込みDBも起動されます。

注※
-idオプションには,操作対象となる組み込みDBのセットアップ識別子を指定してください。Windowsで組み込みDBを起動する場合は,事前にJP1/AJS3 Database _JFnnは0~9またはA~Zのどれか)サービスを開始してください。
注意
システム共通定義,またはシングルサーバ定義の編集時に,文字やスペースが全角になっていたり,不要な改行やスペースを挿入したりすると,JP1/AJS3サービスの起動に失敗します。

(b) 運用方法

組み込みDBの具体的な運用方法として,次の項目について検討します。

●システムログの運用

システムログを使用して回復する場合は,次に示す運用方法があります。システムログを使用して回復しない場合,考慮する必要はありません。

アンロードログ運用
システムログファイルに出力されたデータを別ファイルに退避(アンロード)する運用方法です。アンロードは組み込みDBによって自動的に実行され,同時にシステムログファイルも再利用できる状態になります。しかし,アンロードログファイルを保存するためのディスク容量が必要となり,ディスクの空き容量については監視する必要があるほか,回復時には使用するアンロードログファイルを正しい順序で指定する必要があります。

●バックアップの取得タイミング

組み込みDBのバックアップを取得するタイミングには,次の二つがあります。

JP1/AJS3サービス停止中(ジョブ,ジョブネットを運用していないとき)
組み込みDBのバックアップを取得する際に,JP1/AJS3の運用を停止する必要があります。取得したバックアップデータだけでバックアップ時点へ回復できる,基本的なバックアップ方法です。
JP1/AJS3サービス稼働中(ジョブ,ジョブネットを運用しているとき)
組み込みDBのバックアップを取得する際に,JP1/AJS3の運用を停止する必要はありません。しかし,回復する際には取得したバックアップデータとともに,組み込みDBが出力しているアンロードログファイルが必要です。

●バックアップからの回復点

組み込みDBのバックアップからの回復点は,次の二つです。

バックアップ取得時点
バックアップを取得した時点の状態へ回復します。バックアップ取得時点以降の運用内容は反映されません。
バックアップ取得後の最新の同期点
バックアップを取得した時点の状態に加えて,バックアップ時点以降の運用によるデータベースの更新内容も反映されるため,最新の状態まで回復できます。

●バックアップからの回復方法

バックアップからの回復方法を次に説明します。

バックアップデータだけ
バックアップ時に取得したバックアップデータだけで回復します。バックアップ取得時点の状態に回復できます。
バックアップデータとシステムログ
バックアップ時に取得したバックアップデータとともに,バックアップ時点以降に出力されたシステムログの情報を使用して回復します。バックアップ時点以降の運用によるデータベースの更新内容も反映されます。JP1/AJS3運用中に取得したバックアップからの回復は,この方法で回復します。

組み込みDBの運用方法を次の表に示します。

表C-4 組み込みDBの運用方法

項番運用方法
システムログの運用バックアップ取得タイミングバックアップからの回復点バックアップからの回復方法
Aシステムログ運用しないJP1/AJS3サービス停止中バックアップ取得時点バックアップデータのみ
BB-1アンロードログ運用JP1/AJS3サービス停止中バックアップ取得時点バックアップデータのみ
B-2最新の同期点バックアップデータとアンロードログ
B-3JP1/AJS3サービス稼働中

運用方法の特徴を次の表に示します。この表に示す運用方法の特徴を考慮して表C-4から運用方法を選択してください。

表C-5 各運用方法の特徴

項番特徴
長所短所
Aシステムログファイルの状態を監視する必要がありません。
  • バックアップからの回復点はバックアップ時点だけです。
  • バックアップ取得時にはJP1/AJS3サービスを停止する必要があります。
B共通
  • システムログファイルの状態を監視する必要がありません。
  • 自動ログアンロード機能の動作状態を監視する必要があります。
  • アンロードログファイル作成ディレクトリを準備する必要があります。
B-1
  • システムログファイルに障害が発生しても,バックアップデータだけで回復できます。
  • バックアップからの回復点はバックアップ時点だけです。
  • バックアップ取得時にはJP1/AJS3サービスを停止する必要があります。
B-2
  • システムログファイルに障害が発生しても,バックアップデータだけで回復できます。
  • バックアップ取得時点以降の運用を反映した最新の状態に回復できます。
バックアップ取得時にはJP1/AJS3サービスを停止する必要があります。
B-3
  • バックアップ取得時にJP1/AJS3サービスを停止する必要がありません。
  • バックアップ取得時点以降の運用を反映した最新の状態に回復できます。
アンロードログファイルを失うと,該当するバックアップデータからの回復は一切できません。
注※
表C-4の項番に対応します。

バックアップおよびバックアップからの回復方法の詳細については,次に示す個所を参照してください。

表C-4で選択した運用をする場合,組み込みDBの環境構築,組み込みDBのバックアップおよびバックアップからの回復で必要となるコマンドを次に示します。

これらコマンドの実行時に必要となるオプションを次の表に示します。

表C-6 コマンドの指定オプション

項番システムファイルの二重化システムログの運用方法および回復方法に関するオプション
ajsembdbbuild
(-bs,-br,-bl)
ajsembdbbackup
(-s)
ajsembdbrstr
(-ld,-l)
Aなしなしなしなし
BB-1-bs -blなしなし
B-2-ldまたは-l
B-3-s-ldまたは-l
Aあり
BB-1-br -blなしなし
B-2-ldまたは-l
B-3-s-ldまたは-l
(凡例)
-:該当しない。
注※
表C-4の項番に対応します。

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

(c) 環境設定パラメーター

組み込みDBの高度なセットアップをするためには,スケジューラーサービスの環境設定パラメーターを設定する必要があります。設定するスケジューラーサービスの環境設定パラメーターについて検討します。

環境設定パラメーターの詳細については,マニュアル「JP1/Automatic Job Management System 3 構築ガイド2 2.2 スケジューラーサービス環境設定」を参照してください。

スケジューラーサービスAJSROOT2の環境設定パラメーターを定義する例を,次に示します。

なお,一部の環境設定パラメーターは,ほかのスケジューラーサービスまたは別の論理ホストと値が重複しないように指定する必要があります。環境設定パラメーターの詳細を確認し,スケジューラーサービスごとに設定する値を見直してください。

[JP1_DEFAULT¥JP1AJSMANAGER¥AJSROOT2]
"AUTOSTART"="yes"
"AJSSERVICEID"=dword:00000002
"AJSCHARCODE"="SJIS"
"AJSTMPDIR"="C:¥Program Files¥HITACHI¥JP1AJS2¥tmp¥schedule2"
"JOBINFDIR"="C:¥Program Files¥HITACHI¥JP1AJS2¥jobinf2"
"AJSBKUROOT"="C:¥Program Files¥HITACHI¥JP1AJS2¥backup¥schedule2"
"HNTRLOGLEVEL"="error"
"AJSSYSLOG"="none"
"NETSYSLOG"="none"
"JOBSYSLOG"="none"
"LOGINFOALL"="yes"
"INFOLOG"="all"
"LOGHEADER"="PID"
"AJSLOG"="all"
"NETLOG"="all"
"JOBLOG"="all"
"OPELOG"="all"
"REFLOG"="all"
"STARTMODE"="warm"
"OVERSCHEDULE"="exec"
"SUPPRESS"="none"
"EXECDEFER"="oneday"
"UNITDEFINERELOAD"="yes"
"JOBSTATUSPORT"="jp1ajs2report2"
"LOGSIZE"=dword:00002800
"AJSLOGFILE1"="C:¥Program Files¥HITACHI¥JP1AJS2¥log¥schedule¥AJSROOT2¥ajs-log1.log"
"AJSLOGFILE2"="C:¥Program Files¥HITACHI¥JP1AJS2¥log¥schedule¥AJSROOT2¥ajs-log2.log"
"AJSLOGOUTPUTEXTEND"="no"
"SESSIONTIMEOUT"=dword:00000078
"SYSLOGCODE"="C"
"NONRELOADHOLDING"="yes"
"AJSPRINTNETSCHPRF"="no"
"BACKGROUNDLEAVE"="yes"
"AJSSYSDIR"="C:¥Program Files¥HITACHI¥JP1AJS2¥sys¥schedule¥AJSROOT2"
"AJSLOGDIR"="C:¥Program Files¥HITACHI¥JP1AJS2¥log¥schedule¥AJSROOT2"
"RJCUSE"="yes"
"SAVEGENTYPE"="TOTAL"
"AJSDBDIRECTORY"="C:¥Program Files¥HITACHI¥JP1AJS2¥database¥schedule¥AJSROOT2"
"RDBCHECKINTERVAL"=dword:0000012C
"RDBCONNECTWAITTIME"=dword:00000001
"RDBUSER"="ajs2"
"RDBAUTHID"="root"