5.7.1 システム定義

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

なお,JP1/AJS2で組み込みDBを使用している場合は,通常組み込みDBのシステム定義を変更する必要がありません。問題が発生したときに,必要に応じて設定を変更してください。

<この項の構成>
(1) システム共通定義
(2) シングルサーバ定義

(1) システム共通定義

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

 

番号形式
1set pd_name_port = 組み込みDBのポート番号
2set pd_max_users = 最大同時接続数
3set pd_max_file_no = RDエリアを構成する組み込みDBファイルの最大数
4[set pd_service_port = クライアント接続用ポート番号]
5putenv SHMMAX 共有メモリーセグメントサイズの上限値
6set pd_mode_conf = 組み込みDBの開始方法
1) pd_name_port = 組み込みDBのポート番号
~〈符号なし整数〉((5001~65535))
組み込みDBのポート番号を変更する場合にこのオペランドの設定値を変更します。このオペランドには,組み込みDBのアドレスとなるポート番号を指定します。なお,JP1/AJS2では,デフォルトで22200を使用します。
指定値の目安
このポート番号は,ほかのプログラムが使うポート番号と重複しないようにしてください。ここで指定したポート番号は,ほかのプログラムで使えません。
注意事項
  • OSが自動的に割り当てるポート番号の範囲とは異なる番号を指定してください。OSが自動的に割り当てるポート番号の範囲はOSによって異なります。
  • OSが自動的に割り当てるポート番号の範囲内の番号を指定すると,その番号はほかのプログラムに使われていることがあります。使われていると,組み込みDBを開始できません。
  • ポート番号がほかのアプリケーションと重複すると,アプリケーションか組み込みDBのどちらかにトラブルが起こります。その場合は,該当するアプリケーションのポート番号を変更するか,または組み込みDBのポート番号を変更する必要があります。
2) pd_max_users = 最大同時接続数
~〈符号なし整数〉((1~2000))
組み込みDBに対する最大同時接続数を変更する場合にこのオペランドの設定値を変更します。このオペランドには,組み込みDBに対する最大同時接続数を指定します。組み込みDBへの接続要求数がこのオペランドの値を超えると,組み込みDBはそれ以上の接続要求を受け付けません(接続要求はエラーになります)。なお,JP1/AJS2では128を設定しています。
注意事項
組み込みDBを操作するコマンドを実行した場合,コマンドごとに組み込みDBに接続するので注意が必要です。
3) pd_max_file_no = RDエリアを構成する組み込みDBファイルの最大数
~〈符号なし整数〉((5~134217728))
RDエリアを拡張するときに組み込みDBファイルを追加します。その結果,RDエリアを構成する組み込みDBファイルの合計数がこのオペランドの値を超える場合に,このオペランドの設定値を大きくします。
このオペランドには,RDエリアを構成する組み込みDBファイルの最大数を指定します。組み込みDBファイルの合計数がこのオペランドの値を超えている場合,組み込みDBを正常開始できません。なお,JP1/AJS2では,15を設定しています。
4) pd_service_port = クライアント接続用ポート番号
~〈符号なし整数〉((5001~65535))
組み込みDBサーバ側にファイアウォールが設置されている場合に,クライアント接続用ポート番号を指定します。指定するポート番号の規則を次に示します。
  • ホスト内でユニークなポート番号を指定します。
  • pd_name_portオペランドに指定したポート番号とは別の値を指定します。
運用方法
  • JP1/AJS2連携製品を使用する場合,必要に応じて設定してください。JP1/AJS2 - Managerではこのオペランドは使用しないので,設定する必要はありません。
  • 同一マシン上で複数のサーバ,または複数のユニットを開始する場合は,それぞれの組み込みDBで異なったポート番号を指定してください。
注意事項
  • pd_name_portオペランドに指定したポート番号と同じ値を指定した場合,このオペランドの指定値が無効となり,クライアント接続用ポート番号は定義されません。
  • OSが自動的に割り当てるポート番号の範囲とは異なる番号を指定してください。OSが自動的に割り当てるポート番号の範囲はOSによって異なります。OSが自動的に割り当てるポート番号の範囲内の番号を指定した場合,その番号はほかのプログラムに使用されているおそれがあります。使用されていた場合,組み込みDBを開始できません。
5) SHMMAX 共有メモリーセグメントサイズの上限値
~〈符号なし整数〉(単位:メガバイト)((6~2047))
性能向上を目的としてグローバルバッファ用の共有メモリーセグメントサイズの上限値を変更する場合に,このオペランドの設定値を変更します。
このオペランドには,グローバルバッファ用の共有メモリーセグメントサイズの上限値をメガバイト単位で指定します。なお,JP1/AJS2では100を設定しています。
注意事項
  • Windowsの場合の共有メモリーは,共有メモリーファイルとして組み込みDB運用ディレクトリがあるディスクに確保されます。このため,ディスクの空き容量が十分でないと,ディスク容量不足になります。
  • UNIXの場合,次に示す条件を満たすときはその分の共有メモリーを確保できないため,組み込みDBを開始できません。
     SHMMAXの値>shmmaxの値
  • UNIXの場合の共有メモリーセグメント数はOSのオペレーティングシステムパラメタshmmniおよびshmseg(Solarisの場合はshminfo_shmminおよびshminfo_shmseg,Linuxの場合はSHMMINおよびSHMSEG)の制限を受けます。このため,グローバルバッファ用の共有メモリーセグメントを複数確保する場合,この制限を超えて共有メモリーを確保できないことがあります。この場合,次に示すどれかの処置をしてください。
    ・グローバルバッファ面数を小さくする
    ・shmmniおよびshmsegの値を大きくする
    ・不要なグローバルバッファを削除する
shmmax,shmmni,shmsegについては,OSのマニュアルを参照してください。
6) pd_mode_conf = 組み込みDBの開始方法
組み込みDBの開始方法を指定します。設定値を次に示します。
  • AUTO
    OSを起動したときに自動で組み込みDBを開始します。組み込みDBが異常終了した場合も,自動で再開始します。
  • MANUAL1
    組み込みDBを手動で開始します。ただし,組み込みDBが異常終了した場合にかぎり,組み込みDBは自動で再開始します。
  • MANUAL2
    組み込みDBを手動で開始します。MANUAL1とは異なり,組み込みDBが異常終了した場合でも自動で再開始しません。
JP1/AJS2では,組み込みDB構築時のajsembdbbuildコマンドのオプション指定に応じて,このオペランドを設定しています。
ajsembdbbuildコマンドに-rまたは-fオプションを指定した場合
MANUAL1を設定します。
ajsembdbbuildコマンドに-rまたは-fオプションを指定しなかった場合
AUTOを設定します。
ajsembdbbuildコマンドの詳細については,マニュアル「JP1/Automatic Job Management System 2 セットアップガイド 20. セットアップ時に使用するコマンド ajsembdbbuild」を参照してください。

(2) シングルサーバ定義

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

 

番号形式
1set pd_work_buff_size = 作業表用バッファ長
2set pd_lck_pool_size = 排他制御用プールサイズ
1) pd_work_buff_size = 作業表用バッファ長
~〈符号なし整数〉(単位:キロバイト)((128~1000000))
組み込みDBが作成する作業表のバッファの大きさをキロバイト単位で指定します。このオペランドの値はJP1/AJS2のリソース計算に使います。なお,JP1/AJS2では128を設定しています。
2) pd_lck_pool_size = 排他制御用プールサイズ
~〈符号なし整数〉(単位:キロバイト)((1~2000000))
排他制御で使う共有メモリー領域の大きさをキロバイト単位で指定します。なお,JP1/AJS2では,大規模で40,000,中規模で25,000,小規模で10,000を設定しています。
注意事項
このオペランドの指定値が小さ過ぎると,JP1/AJS2のアクセスがエラーリターンすることがあります。