付録C.1 組み込みDBを使用する場合の準備
ここでは,JP1/AJS3 - Managerのスケジューラーデータベースとして組み込みDBを使用する場合の準備について説明します。
(2) 組み込みDB稼働環境と運用方法の検討
(a) 稼働環境
組み込みDBが稼働する環境条件として,次の項目について検討および確認します。
-
システム構成
-
環境構築規模
-
システムファイル領域
-
動作環境
■ システム構成
非クラスタ構成(物理ホスト)とするか,またはクラスタ構成(論理ホスト)とするかを検討します。組み込みDBだけでなく,JP1/AJS3サービスの全体構成としての環境条件となります。
■ 環境構築規模
JP1/AJS3の運用規模に合わせて,組み込みDB環境を構築する規模を三つ(小規模,中規模,大規模)の中から選択します。それぞれの規模の目安について,次の表に示します。
規模 |
ユニット数 |
1日に実行される ジョブ・ジョブネット数 |
保存世代数 |
---|---|---|---|
小規模 |
5,000以下 |
5,000以下 |
5以下 |
中規模 |
5,000〜48,000 |
5,000〜30,000 |
5以下 |
大規模 |
48,000〜240,000 |
30,000〜120,000 |
5以下 |
規模 |
ユニット数 |
1日に実行される ジョブ・ジョブネット数 |
保存世代数 |
---|---|---|---|
小規模 |
4,000以下 |
4,000以下 |
4以下 |
中規模 |
4,000〜38,400 |
4,000〜24,000 |
4以下 |
大規模 |
38,400〜192,000 |
24,000〜96,000 |
4以下 |
運用規模が大規模を超える場合は,組み込みDB環境を大規模で構築し,そのあと環境の拡張を実施してください。
組み込みDB環境の拡張については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス1 2. コマンド ajsembdbaddarea」を参照してください。
■ システムファイル領域
組み込みDBで使用するシステムファイルの二重化実施の有無について検討します。システムファイルを二重化すると,必要なディスク容量は増加しますが,ディスク障害が発生した場合に障害時点まで復旧できます。
組み込みDBの稼働環境ごとに必要なディスク容量を次の表に示します。項番1〜24から一つを選択してください。
項番 |
組み込みDB稼働環境 |
必要ディスク容量(単位:メガバイト) |
|||||||
---|---|---|---|---|---|---|---|---|---|
システム構成 |
環境構築規模 |
RAWファイルの使用※1 |
システムファイルの二重化 |
システム領域※2 |
データ領域 |
システムファイル領域 |
作業領域 |
合計※3 |
|
1 |
非クラスタ |
小規模 |
なし |
なし |
170※4 |
200 |
320 |
− |
520 |
2 |
あり |
640 |
840 |
||||||
3 |
あり |
なし |
320 |
40 |
560 |
||||
4 |
あり |
640 |
880 |
||||||
5 |
中規模 |
なし |
なし |
1,400 |
2,800 |
− |
4,200 |
||
6 |
あり |
5,600 |
7,000 |
||||||
7 |
あり |
なし |
2,800 |
40 |
4,240 |
||||
8 |
あり |
5,600 |
7,040 |
||||||
9 |
大規模 |
なし |
なし |
6,700 |
14,000 |
− |
20,700 |
||
10 |
あり |
28,000 |
34,700 |
||||||
11 |
あり |
なし |
14,000 |
40 |
20,740 |
||||
12 |
あり |
28,000 |
34,740 |
||||||
13 |
クラスタ |
小規模 |
なし |
なし |
170※4,※5 |
200 |
320 |
40*2※6 |
600 |
14 |
あり |
640 |
920 |
||||||
15 |
あり |
なし |
320 |
600 |
|||||
16 |
あり |
640 |
920 |
||||||
17 |
中規模 |
なし |
なし |
1,400 |
2,800 |
4,280 |
|||
18 |
あり |
5,600 |
7,080 |
||||||
19 |
あり |
なし |
2,800 |
4,280 |
|||||
20 |
あり |
5,600 |
7,080 |
||||||
21 |
大規模 |
なし |
なし |
6,700 |
14,000 |
20,780 |
|||
22 |
あり |
28,000 |
34,780 |
||||||
23 |
あり |
なし |
14,000 |
20,780 |
|||||
24 |
あり |
28,000 |
34,780 |
OS |
容量(メガバイト) |
---|---|
Windows |
170 |
HP-UX(IPF) |
400 |
Solaris |
260 |
AIX |
200 |
Linux |
210 |
■ 動作環境
次に示す組み込みDBの動作環境について検討します。
-
システム定義
次に示すシステム定義のオペランドについて説明します。
-
システム共通定義
-
シングルサーバ定義
JP1/AJS3で組み込みDBを使用している場合は,通常組み込みDBのシステム定義を変更する必要がありません。問題が発生したときに,必要に応じて設定を変更してください。
• システム共通定義
組み込みDBシステム管理者が設定値を変更できるシステム共通定義のオペランドについて説明します。
システム共通定義ファイルのパス名を次に示します。このファイル中に設定されているオペランドの値を変更してください。
-
Windowsの場合:組み込みDB運用ディレクトリ\conf\pdsys
-
UNIXの場合:組み込みDB運用ディレクトリ/conf/pdsys
なお,次の表で[ ](角括弧)で囲まれているオペランドは,組み込みDBのセットアップ時点では記載されていません。必要に応じて追記してください。
- 注意事項
-
ここで説明していないオペランドの値は変更しないでください。変更した場合,JP1/AJS3が誤動作することがあります。
番号 |
形式 |
---|---|
1 |
set pd_max_users = 最大同時接続数 |
2 |
[set pd_service_port = クライアント接続用ポート番号] |
3 |
set pd_mode_conf = 組み込みDBの開始方法 |
4 |
[set pd_utl_exec_time = 組み込みDBを操作するコマンドの実行監視時間] |
5 |
putenv 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
なお,JP1/AJS3 - ViewからJP1/AJS3のコマンドを実行する場合,JP1/AJS3 - Viewから組み込みDBへの接続で1,コマンドの実行で1をそれぞれ消費します。
-
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の開始方法を指定します。設定値を次に示します。デフォルトは「MANUAL2」です。通常,変更する必要はありません。
-
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システム管理者が設定値を変更できるシングルサーバ定義のオペランドについて説明します。シングルサーバ定義ファイルのパス名を次に示します。このファイル中に設定されているオペランドの値を変更してください。
-
Windowsの場合:組み込みDB運用ディレクトリ\conf\ajs2
-
UNIXの場合:組み込みDB運用ディレクトリ/conf/ajs2
- 注意事項
-
ここで説明していないオペランドの値は変更しないでください。変更した場合,JP1/AJS3が誤動作することがあります。
番号 |
形式 |
---|---|
1 |
set pd_lck_pool_size = 排他制御用プールサイズ |
- 1) pd_lck_pool_size = 排他制御用プールサイズ
-
〜〈符号なし整数〉(単位:キロバイト)((1〜2000000))
組み込みDB内の排他制御で使う共有メモリー領域の大きさをキロバイト単位で指定します。
なお,JP1/AJS3では,ajsembdbbuildコマンド,jajs_setupコマンド,またはjajs_setup_clusterコマンドで指定した規模によって,次の表に示す値を設定しています。
規模
コマンドのオプション
排他制御用プールサイズ
大規模
-l
60,000
中規模
-m
37,500
小規模
-s
15,000
- 運用方法
-
コマンドやJP1/AJS3 - Viewによってユニットを操作する場合,ユニット数に応じて,排他制御用のメモリー領域が使用されます。そのため,操作対象のユニット数などに応じて,排他制御用のメモリー領域を事前に見積もり,設定する必要があります。
一度に大量のユニットを操作することで排他制御用のメモリー領域が不足した場合,次のような現象が発生します。
-
統合ログ,syslog,またはWindowsイベントログにメッセージKAVS0902-Eおよびその保守情報にメッセージKFPA11912-Eが出力され,操作が異常終了する。
また,排他制御用のメモリー領域が不足したことで,スケジューラーサービスのデータベースアクセスが正常にできない場合,次のような現象が発生することがあります。
-
メッセージKAVS0902-Eが出力され,ジョブやジョブネットが正常に実行できない。
-
統合ログ,syslog,またはWindowsイベントログにメッセージKAVS0230-Eが出力され,スケジューラーサービスが異常終了する。
上記の現象が発生する場合,排他制御用のメモリー領域が不足していることがあるため,次の内容を見直してください。
-
ajsdefineコマンドで定義しようとしているユニット定義,またはajsdeleteコマンドやJP1/AJS3 - Viewでユニットを削除しようとしているユニット定義のうち,最上位に定義されるユニットとその配下のユニット総数
-
ajscopyコマンドまたはJP1/AJS3 - Viewでのユニットのコピー操作で,コピー元として指定したユニットとその配下のユニット総数
-
ajsrestoreコマンドまたはJP1/AJS3 - Viewでの回復操作で,回復対象のユニットとその配下のユニット総数
-
ajsreleaseコマンドまたはJP1/AJS3 - Viewでのリリース操作で,リリース元として指定したルートジョブネットとその配下のユニット総数
-
ajsentryコマンドまたはJP1/AJS3 - Viewでの実行登録操作で,指定したルートジョブネットとその配下のユニット総数,または指定したジョブグループ配下に定義されたルートジョブネットとその配下のユニット総数
-
ajsrerunコマンドまたはJP1/AJS3 - Viewでの再実行で,指定したジョブネットとその配下のユニット総数
-
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のアクセスがエラーリターンすることがあります。
-
パラメーターの設定値としては,2,000,000まで指定できますが,OSのメモリー管理によって連続した領域が確保できない場合は,組み込みDBの起動に失敗します。その場合は,連続した領域が確保できる値にチューニングしてください。
-
• システム定義の変更方法
システム定義の変更方法を次に示します。
-
JP1/AJS3サービスを停止する。
-
操作対象の組み込みDBの起動状態を確認する。
ajsembdbstatus -s ust -id _JF0※
-
操作対象の組み込みDBが起動している場合,組み込みDBの正常停止を行う。停止している場合,一度起動してから正常停止を行う。
組み込みDBを起動する場合
ajsembdbstart -id _JF0※
組み込みDBを正常停止する場合
ajsembdbstop -id _JF0※
-
システム共通定義,またはシングルサーバ定義ファイルをテキストエディターで開く。
問題が発生した場合に備えて,更新対象となるファイルのバックアップを取得してください。
-
オペランドの値を変更する。
-
手順5で編集した内容を保存してファイルを閉じる。
-
クラスタ構成の場合は,変更したシステム共通定義,またはシングルサーバ定義ファイルを待機系ホストにコピーする。
-
JP1/AJS3サービスを開始する。
このとき,組み込みDBも起動されます。
- 注※
-
-idオプションには,操作対象となる組み込みDBのセットアップ識別子を指定してください。Windowsで組み込みDBを起動する場合は,事前にJP1/AJS3 Database _JFn(nは0〜9またはA〜Zのどれか)サービスを開始してください。
- 注意事項
-
システム共通定義,またはシングルサーバ定義の編集時に,文字やスペースが全角になっていたり,不要な改行やスペースを挿入したりすると,JP1/AJS3サービスの起動に失敗します。
(b) 運用方法
組み込みDBの具体的な運用方法として,次の項目について検討します。
-
システムログの運用
-
バックアップの取得タイミング
-
バックアップからの回復点
-
バックアップからの回復方法
■ システムログの運用
システムログを使用して回復する場合は,次に示す運用方法があります。システムログを使用して回復しない場合,考慮する必要はありません。
■ バックアップの取得タイミング
組み込みDBのバックアップを取得するタイミングには,次の二つがあります。
- JP1/AJS3サービス停止中(ジョブ,ジョブネットを運用していないとき)
-
組み込みDBのバックアップを取得する際に,JP1/AJS3の運用を停止する必要があります。取得したバックアップデータだけでバックアップ時点へ回復できる,基本的なバックアップ方法です。
- JP1/AJS3サービス稼働中(ジョブ,ジョブネットを運用しているとき)
-
組み込みDBのバックアップを取得する際に,JP1/AJS3の運用を停止する必要はありません。しかし,回復する際には取得したバックアップデータとともに,組み込みDBが出力しているアンロードログファイルが必要です。
■ バックアップからの回復点
組み込みDBのバックアップからの回復点は,次の二つです。
- バックアップ取得時点
-
バックアップを取得した時点の状態へ回復します。バックアップ取得時点以降の運用内容は反映されません。
- バックアップ取得後の最新の同期点
-
バックアップを取得した時点の状態に加えて,バックアップ時点以降の運用によるデータベースの更新内容も反映されるため,最新の状態まで回復できます。
■ バックアップからの回復方法
バックアップからの回復方法を次に説明します。
- バックアップデータだけ
-
バックアップ時に取得したバックアップデータだけで回復します。バックアップ取得時点の状態に回復できます。
- バックアップデータとシステムログ
-
バックアップ時に取得したバックアップデータとともに,バックアップ時点以降に出力されたシステムログの情報を使用して回復します。バックアップ時点以降の運用によるデータベースの更新内容も反映されます。JP1/AJS3運用中に取得したバックアップからの回復は,この方法で回復します。
組み込みDBの運用方法を次の表に示します。
項番 |
運用方法 |
||||
---|---|---|---|---|---|
システムログの運用 |
バックアップ取得タイミング |
バックアップからの回復点 |
バックアップからの回復方法 |
||
A |
システムログ運用しない |
JP1/AJS3サービス停止中 |
バックアップ取得時点 |
バックアップデータのみ |
|
B |
B-1 |
アンロードログ運用 |
JP1/AJS3サービス停止中 |
バックアップ取得時点 |
バックアップデータのみ |
B-2 |
最新の同期点 |
バックアップデータとアンロードログ |
|||
B-3 |
JP1/AJS3サービス稼働中 |
運用方法の特徴を次の表に示します。この表に示す運用方法の特徴を考慮して表C-4から運用方法を選択してください。
項番※ |
特徴 |
||
---|---|---|---|
長所 |
短所 |
||
A |
システムログファイルの状態を監視する必要がありません。 |
|
|
B |
共通 |
|
|
B-1 |
|
|
|
B-2 |
|
バックアップ取得時にはJP1/AJS3サービスを停止する必要があります。 |
|
B-3 |
|
アンロードログファイルを失うと,該当するバックアップデータからの回復は一切できません。 |
バックアップおよびバックアップからの回復方法の詳細については,次に示す個所を参照してください。
-
マニュアル「JP1/Automatic Job Management System 3 設計ガイド(システム構築編) 5.4.1(1) アンロードログ運用」
-
マニュアル「JP1/Automatic Job Management System 3 設計ガイド(システム構築編) 5.4.1(2) システムログを使用しない運用」
表C-4で選択した運用をする場合,組み込みDBの環境構築,組み込みDBのバックアップおよびバックアップからの回復で必要となるコマンドを次に示します。
-
ajsembdbbuildコマンド(組み込みDBの環境を構築する)
-
ajsembdbbackupコマンド(バックアップする)
-
ajsembdbrstrコマンド(バックアップから回復する)
これらコマンドの実行時に必要となるオプションを次の表に示します。
項番※ |
システムファイルの二重化 |
システムログの運用方法および回復方法に関するオプション |
|||
---|---|---|---|---|---|
ajsembdbbuild (-bs,-br,-bl) |
ajsembdbbackup (-s) |
ajsembdbrstr (-ld,-l) |
|||
A |
なし |
なし |
なし |
なし |
|
B |
B-1 |
-bs -bl |
なし |
なし |
|
B-2 |
-ldまたは-l |
||||
B-3 |
-s |
-ldまたは-l |
|||
A |
あり |
− |
− |
− |
|
B |
B-1 |
-br -bl |
なし |
なし |
|
B-2 |
-ldまたは-l |
||||
B-3 |
-s |
-ldまたは-l |
ajsembdbbuildコマンドについては,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス2 2. セットアップコマンド」を,ajsembdbbackupコマンドおよびajsembdbrstrコマンドについては,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス1 2. コマンド」を参照してください。
(c) スケジューラーサービスの環境設定
組み込みDBの高度なセットアップをするためには,スケジューラーサービスの環境設定パラメーターを設定する必要があります。追加するスケジューラーサービスに必要な環境設定パラメーターを設定する場合,jajs_setupコマンドに-Sオプションを指定して実行してください。
jajs_setupコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 3 コマンドリファレンス2 2. セットアップコマンド jajs_setup」を参照してください。
スケジューラーサービスの環境設定パラメーターの詳細については,マニュアル「JP1/Automatic Job Management System 3 構築ガイド2 2.2 スケジューラーサービス環境設定」を参照してください。
スケジューラーサービスAJSROOT2の環境を設定する例を,次に示します。
jajs_setup -F AJSROOT2 -a -n 2 -p jp1ajs2report2 -d /var/opt/jp1ajs2/database/schedule/AJSROOT2 -t /var/opt/jp1ajs2/tmp/schedule2 -j /var/opt/jp1ajs2/jobinf2 -b /var/opt/jp1ajs2/backup/schedule2 -S