Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 システム定義


システム共通定義

〈このページの構成〉

形式

set形式

〔set rpc_trace=Y|N〕
〔set rpc_trace_name="RPCトレースを取得するファイル名"〕
〔set rpc_trace_size=RPCトレースを取得するファイルのサイズ〕
〔set name_port=ネームサービスのポート番号〕
〔set system_id=OpenTP1識別子〕
〔set all_node="ノード名〔:ポート番号〕〔:high〕"
            〔,"ノード名〔:ポート番号〕〔:high〕"…〕〕
  set node_id=ノード識別子
〔set rpc_retry=Y|N〕
〔set rpc_retry_count=RPC処理のリトライ回数最大値〕
〔set rpc_retry_interval=RPC処理のリトライ間隔〕
〔set multi_node_option=Y|N〕
〔set prc_port=マルチノード連携制御機能で使用するポート番号〕
〔set rpc_delay_statistics=Y|N〕
〔set my_host="ホスト名"|MYHOST〕
〔set jp1_use=Y|N〕
〔set rpc_message_level=RPCのトラブルシュートメッセージの表示レベル〕
〔set rpc_multi_tp1_in_same_host=Y|N〕
〔set max_socket_descriptors=ソケット用ファイル記述子の最大数〕
〔set rpc_datacomp=Y|N〕
〔set domain_masters_addr="ドメイン名=ホスト名1〔:ポート番号1〕
                            〔,ホスト名2〔:ポート番号2〕
                            〔,ホスト名3〔:ポート番号3〕〕〕"
                            〔,"ドメイン名=ホスト名1〔:ポート番号1〕
                            〔,ホスト名2〔:ポート番号2〕
                            〔,ホスト名3〔:ポート番号3〕〕〕"…〕〕
〔set domain_masters_port=
                    ドメイン代表スケジュールサービスのポート番号〕
〔set domain_use_dns=Y|N〕
〔set client_uid_check=Y|N〕
〔set rpc_port_base=最小ポート番号〕
〔set prf_trace=Y|N〕
〔set trn_prf_trace_level=トレースの取得レベル〕
〔set core_suppress_watch_time=実時間監視タイムアウトプロセスの
                               コアダンプ出力を抑止する時間間隔〕
〔set rpc_netmask=TCP/IPのネットワーク定義ファイルに指定した
                  サブネットマスク値〕
〔set ipc_sockctl_highwater=
                      ソケットの一時クローズ処理開始数パーセンテージ
                   〔,ソケットの一時クローズ処理非対象数パーセンテージ〕〕
〔set ipc_sockctl_watchtime=ソケット再利用可能監視時間〕
〔set ipc_conn_interval=コネクション確立監視時間〕
〔set ipc_send_interval=データ送信監視間隔〕
〔set ipc_send_count=データ送信監視回数〕
〔set ipc_header_recv_time=通信制御データの受信監視時間〕
〔set rpc_close_after_send=Y|N〕
〔set name_notify=Y|N〕
〔set all_node_ex="ノード名〔:ポート番号〕"
               〔,"ノード名〔:ポート番号〕"…〕〕
〔set rpc_server_busy_count=KFCA00356-Wメッセージを出力する
                            バンドル回数〕
〔set rpc_send_retry_count=TCP/IPコネクションの接続時にエラーが発生した
                           場合のリトライ回数〕
〔set rpc_send_retry_interval=TCP/IPコネクションの接続時にエラーが
                              発生した場合のリトライ間隔〕
〔set thdlock_sleep_time=スレッド間で排他が競合した場合のスレッドの
                         待ち時間〕
〔set ipc_recvbuf_size=TCP/IPの受信バッファサイズ〕
〔set ipc_sendbuf_size=TCP/IPの送信バッファサイズ〕
〔set ipc_listen_sockbufset=Y|N〕
〔set rpc_router_retry_count=ENOBUFS,ENOMEM発生時のリトライ回数〕
〔set rpc_router_retry_interval=ENOBUFS,ENOMEM発生時のリトライ間隔〕
〔set ipc_backlog_count=コネクション確立要求を格納するキューの長さ〕
〔set statistics=Y|N〕
〔set name_domain_file_use=Y|N〕
〔set all_node_extend_number=ドメイン変更時の最大ノード数〕
〔set all_node_ex_extend_number=ドメイン定義ファイルを使用したドメイン変更
                                時の最大ノード数〕
〔set prc_current_work_path=カレントワーキングディレクトリ作成用のディレク
                            トリパス〕
〔set rpc_max_message_size=RPC送受信電文の最大長〕
〔set uap_trace_file_put=Y|N〕
〔set dcstart_wakeup_retry_count=OpenTP1起動通知エラーリトライ回数〕
〔set dcstart_wakeup_retry_interval=OpenTP1起動通知エラーリトライ間隔〕
〔set nam_prf_trace_level=NAMイベントトレースの取得レベル〕
〔set fil_prf_trace_option=0|1〕
〔set fil_prf_trace_delay_time=FILイベントトレース取得条件となる
                               ファイルアクセス処理時間のしきい値〕
〔set jnl_prf_event_trace_level=JNL性能検証用トレースの取得レベル〕
〔set jnl_fileless_option=Y|N〕
〔set prc_coredump_filter=coreファイルに共有メモリを含めるかの判断値〕
〔set name_service_mode=manager|agent|normal〕
〔set name_manager_node=ノード名〔:ポート番号〕〕
〔set name_remove_down_node=Y|N〕
〔set name_node_add_policy=using_only|all〕
〔set dc_deter_restart_on_stop_fail=Y|N〕
〔set tp1_monitor_time=OpenTP1監視機能の無応答監視時間〕
〔set tp1_monitor_kill_signal=0|3|9〕
〔set watch_time=最大応答待ち時間〕

コマンド形式

{{dcbindht  -h ホスト名
          〔-n ネットワーク名〔,ネットワーク名〕…〕}}

putenv形式

〔putenv LANG LANG設定値〕

機能

OpenTP1システム共通の実行環境を定義します。

説明

set形式のオペランド

rpc_trace=Y|N

 〜《N》

RPCトレースを取得するかどうかを指定します。

Y

RPCトレースを取得します。

N

RPCトレースを取得しません。

RPCトレースを取得した場合,処理速度が低下し,RPCがタイムアウトでエラーリターンすることがあります。その場合は,状況に応じて次の1.または2.の最大応答待ち時間(デフォルト値:180秒)を十分な値まで増やして対処してください。

  1. watch_timeオペランド(システム共通定義,ユーザサービス定義,またはユーザサービスデフォルト定義で指定)に指定した最大応答待ち時間

  2. クライアントからrapサーバに引き継いだ最大応答待ち時間

クライアントからrapサーバに最大応答待ち時間を引き継ぐかどうかは,クライアント環境定義のDCWATCHTIMINHERITオペランド(TP1/Client/W,TP1/Client/Pの場合),またはTP1/Client/J環境定義のdcwatchtiminheritオペランド(TP1/Client/Jの場合)で指定します。

DCWATCHTIMINHERITオペランドまたはdcwatchtiminheritオペランドにYが指定されている場合は,上記2.の最大応答待ち時間を使用してください。

DCWATCHTIMINHERITオペランドまたはdcwatchtiminheritオペランドにNが指定されているか,指定が省略されている場合は,上記1.の最大応答待ち時間を使用してください。

リモートAPI機能を使用する場合,このオペランドにYを指定しても,rapクライアントのRPCトレースは取得されません。

このオペランドは,ユーザサービス定義またはrapリスナーサービス定義,およびユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義またはrapリスナーサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

rpc_trace_name="RPCトレースを取得するファイル名"

 〜〈パス名〉《$DCDIR/spool/rpctr》

RPCトレースを取得するファイルのパス名を指定します。

パス名のうち,RPCトレースを取得するファイル名(デフォルトはrpctr)の最大長は,13文字です。

パス名に環境変数を指定する場合,パス名の先頭に環境変数を指定してください(指定例:$DCDIR/tmp/ファイル名)。

このオペランドは,ユーザサービス定義またはrapリスナーサービス定義,およびユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義またはrapリスナーサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

rpc_trace_size=RPCトレースを取得するファイルのサイズ

 〜〈符号なし整数〉((1024〜2147483648))《4096》(単位:バイト)

RPCトレースを取得するファイルのサイズを指定します。

このオペランドは,ユーザサービス定義またはrapリスナーサービス定義,およびユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義またはrapリスナーサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

システム共通定義,ユーザサービスデフォルト定義,またはユーザサービス定義で,このオペランドに4096以下を指定していても,送受信された電文長がこの指定値を上回る場合,このオペランドで指定した値よりも大きなトレースファイルが作成されることがあります。

name_port=ネームサービスのポート番号

 〜〈符号なし整数〉((5001〜65535))《10000》

ネームサービスのアドレスとなるポート番号を指定します。

マルチOpenTP1システムを作成する場合は,OpenTP1システムごとにネームサービスのポート番号を変えてください。

マルチOpenTP1システムではない場合でも,OpenTP1システム以外のプログラムが特定のポート番号を使用しているときは,その特定のポート番号と異なるポート番号をネームサービスに指定してください。

このオペランドで指定するポート番号は,ほかのプログラムと重複しないようにしてください。

また,OSには任意に割り当てる番号がありますが,この番号も使用しないでください。OSが任意に割り当てる番号は,OSの種別やバージョンによって異なります。詳細については,使用しているOSのマニュアルを参照してください。

system_id=OpenTP1識別子

 〜〈1〜2文字の識別子〉

OpenTP1識別子を指定します。

このオペランドの指定値を変更した場合,チェックポイントダンプファイルの初期化が必要です。

all_node="ノード名〔:ポート番号〕〔:high〕"〔,"ノード名〔:ポート番号〕〔:high〕"…〕

OpenTP1システムのすべてのノード名,およびそのネームサーバがウェルノウンポート番号として使用するポート番号を指定します。この指定を省略した場合は,自ノードだけで構成するOpenTP1システムが仮定されます。

サービス情報優先度指定機能を使用する場合,サービス情報を優先して選択するノード(優先選択ノード)の指定の後ろに,サービス情報優先度指定キーワードである":high"を指定します。ポート番号を省略する場合は,ノード名の後ろに指定してください。このキーワードは必ず指定値の最後に指定してください。キーワードの区切り文字':'を省略した場合や,間違った位置にキーワードを指定した場合は,定義不正となります。定義不正となった場合,KFCA00606-E(ホスト未定義)またはKFCA00607-E(ポート番号不正)のメッセージを出力し,OpenTP1の起動は失敗します。

システムをマルチOpenTP1構成にしていない場合は,このオペランドのノード名に,自ホストを示すホスト名(またはIPアドレス)や,ループバックアドレス(127で始まるIPアドレス)を指定しないでください。指定した場合,トランザクションの性能に悪影響を与えたり,OpenTP1がシステムダウンしたりするおそれがあります。

システムをマルチOpenTP1構成にしている場合は,このオペランドのノード名に,自ホストを示すホスト名(またはIPアドレス)を指定できます。ただし,ポート番号は重複しないようにして指定してください。なお,ループバックアドレスなどのIPアドレスが127で始まるホスト名(例:127.0.0.1)は指定しないでください。指定した場合,グローバル検索機能などに影響を与えます。

name_notifyオペランドにYを指定して起動通知機能を使用する場合は,このオペランドに指定したノードで起動するOpenTP1へ起動通知を行います。起動通知機能を使用すると,コネクション確立時期を管理でき,確実に送信できるようになります。

また,グローバルアーカイブジャーナルサービス機能を使用する場合は,このオペランドを次のように指定してください。

  • 被アーカイブジャーナルノードには,アーカイブジャーナルノードのノード名を含むように指定する

  • アーカイブジャーナルノードには,すべての被アーカイブジャーナルノードのノード名を含むように指定する

ノード名 〜〈1〜255文字の識別子〉

OpenTP1システムのすべてのノード名を指定します。識別子に使用できる文字は英数字,ピリオド,およびハイフンです。ノード名とは,/etc/hostsなどで定まるホスト名のことです。ノード名に256文字以上指定した場合,指定した文字列の先頭から255文字までをノード名として扱います。

ポート番号 〜〈符号なし整数〉((5001〜65535))《10000》

ネームサーバがウェルノウンポート番号として使用するポート番号を指定します。

ポート番号を省略した場合は,name_portオペランドで指定したネームサービスのポート番号が仮定されます。

サービス情報優先度指定キーワード 〜:high

サービス情報優先度指定機能を使用する場合に,サービス情報を優先して選択するノード(優先選択ノード)に指定します。サービス情報優先度指定機能については,マニュアル「OpenTP1 解説」を参照してください。

ノード自動追加機能とサービス情報優先度指定機能を併用する場合,システム共通定義のname_service_modeオペランドにmanagerまたはagentを指定し,このオペランドに属性情報(優先度オプション)を指定します。

このオペランドに指定した属性情報は,ノードリストに登録されているノードに付与されます。

なお,このオペランドに指定したノードが,マネジャノードから受け取ったノードリストに登録されていない場合,指定したノードはRPCの実行範囲にはなりません。

指定できるノード数は,最大512です。

注意事項
  1. このオペランドに指定したノードがall_node_exオペランドにも指定されていたり,このオペランド内に重複して指定されていたりする場合,OpenTP1が最初に解析したオペランドに対してKFCA00604-Wメッセージが出力されます。この場合,最初に解析したノードが有効となります。解析の優先順位は次のとおりです(優先順位が高い>優先順位が低い)。

    ・all_nodeオペランド,all_node_exオペランド両方に同一ノードが指定されている場合

     all_nodeオペランド>all_node_exオペランド

    ・all_node(all_node_ex)オペランドに同一ノードが複数指定されている場合

     先行指定ノード>後続指定ノード

  2. 通信できないIPアドレス(以降,無効IPアドレスと記載します)や無効IPアドレスに変換されるホスト名をこのオペランドに指定し,かつname_notifyオペランドにYを指定した場合,OpenTP1起動時にこのオペランドに指定したノードに対して起動通知メッセージを送信します。無効IPアドレスに対して起動通知メッセージを送信すると,処理が完了するまでに,1ノードごとにコネクション確立監視時間(ipc_conn_intervalオペランドの指定値×2)が必要です。このため,OpenTP1の起動処理に時間が掛かることがあります。このオペランドに無効IPアドレスを指定する場合は,OpenTP1の起動処理時間が増加することを考慮した上で運用してください。

    なお,この現象は,次の方法で回避できます。

    ・name_notifyオペランドにNを指定し,自ノードとこのオペランドに指定したノードで,互いにノード監視機能を使用する。

    ・このオペランドから無効IPアドレスの指定を削除する。

    ノード監視機能の使用方法および注意事項については,マニュアル「OpenTP1 解説」の,OpenTP1のノード管理のノード監視機能の説明を参照してください。

node_id=ノード識別子

 〜〈4文字の識別子〉

自ノードの識別子を指定します。

OpenTP1システム内で一意となる識別子を指定してください。

このオペランドの指定値を変更した場合,ジャーナルファイルの初期化が必要です。

rpc_retry=Y|N

 〜《N》

OpenTP1のRPCでは,サービス要求時に相手サーバが起動していない場合があるため(系切り替え中,相手サーバ起動中など),サービス要求がエラーになるおそれがあります。このとき,RPCの処理をリトライするかどうかを指定します。

Y

RPCの処理をリトライします。

N

RPCの処理をリトライしません。

RPCの処理をリトライする種類を次に示します。

  • ユーザサーバでの要求先検索のリトライ

    ネームサービスを使用するRPCは,ネームサービスから要求先の情報を取得します。要求先サーバが未起動状態で,ネームサービスから要求先の情報が取得できない場合は,rpc_retry_intervalオペランドに指定された間隔で,rpc_retry_countオペランドに指定された回数分,要求先検索をリトライします。

  • ユーザサーバでの要求送信のリトライ

    RPCは要求先を決定したあと,相手サーバへサービス要求を送信します。次の場合,rpc_retry_intervalオペランドに指定された間隔を待たないで,rpc_retry_countオペランドに指定された回数分,要求送信をリトライします。

    • 相手サーバのサービス開始の関数(dc_rpc_mainloopまたはCBLDCRSV('MAINLOOP'))が完了していないため,サービス提供できないなど,サービス要求の受け付けができない場合

    • サービス要求送信直前に相手サーバがダウンしたなど,通信障害が発生した場合

    なお,サービス要求の受け付けができない,通信障害の発生などの問題がすぐに取り除かれないと,rpc_retry_countオペランドに指定された回数分リトライしても,サービス要求がエラーとなるおそれがあります。

  • システムサーバでの要求送信のリトライ

    OpenTP1のシステムサーバは,システムサーバ間で通信を行います。通信障害が発生した場合は,rpc_retry_intervalオペランドに指定された間隔で,rpc_retry_countオペランドに指定された回数分,要求送信をリトライします。

RPCの処理をリトライする種類と,rpc_retry_countオペランド,およびrpc_retry_intervalオペランドの指定の関係を次に示します。

リトライの種類

rpc_retry_countオペランドの指定

rpc_retry_intervalオペランドの指定

ユーザサーバでの要求先検索のリトライ

ユーザサーバでの要求送信のリトライ

システムサーバでの要求送信のリトライ

(凡例)

○:オペランドの指定は有効となります。

−:オペランドの指定は無効となります。

rpc_retry_count=RPC処理のリトライ回数最大値

 〜〈符号なし整数〉((1〜3600))《18》

要求先検索,および要求送信のリトライを行う場合のリトライ回数の最大値を指定します。

  • 要求先検索のリトライ:ネームサービスを使用するRPCで,ネームサービスから要求先の情報が取得できない場合

  • 要求送信のリトライ:サービス要求送信時に,サービス要求が受け付けられない場合,または通信障害が発生した場合

この指定は,rpc_retryオペランドにYを指定した場合に有効です。

rpc_retry_interval=RPC処理のリトライ間隔

 〜〈符号なし整数〉((1〜3600))《10》(単位:秒)

要求先検索,および要求送信のリトライを行う場合のリトライ間隔を指定します。

この指定は,rpc_retryオペランドにYを指定した場合に有効です。

multi_node_option=Y|N

 〜《N》

該当するOpenTP1ノードでマルチノード機能を使用するかどうかを指定します。

Y

マルチノード機能を使用します。

N

マルチノード機能を使用しません。

TP1/Multiが組み込まれていないのにYを指定した場合は,警告メッセージを出力し,OpenTP1を停止します。

prc_port=マルチノード連携制御機能で使用するポート番号

 〜〈符号なし整数〉((5001〜49999))

マルチノード連携制御機能で使用するポート番号を指定します。

multi_node_optionオペランドにNを指定した場合は,このオペランドを指定する必要はありません。

マルチOpenTP1システムを作成する場合は,OpenTP1システムごとにポート番号を変えてください。

マルチOpenTP1システムではない場合でも,OpenTP1システム以外のプログラムが特定のポート番号を使用しているときは,その特定のポート番号と異なるポート番号を指定してください。

name_portオペランドで指定するネームサービスのポート番号と異なるポート番号を指定してください。

また,マルチノード物理定義で指定するポート番号には,ここで指定した値を指定してください。

このオペランドの指定値を変更した場合は,OpenTP1を再度セットアップしてください。

このオペランドで指定するポート番号は,ほかのプログラムと重複しないようにしてください。

また,OSには任意に割り当てる番号がありますが,この番号も使用しないでください。OSが任意に割り当てる番号は,OSの種別やバージョンによって異なります。詳細については,使用しているOSのマニュアルを参照してください。

rpc_delay_statistics=Y|N

 〜《N》

通信遅延時間統計情報を取得するかどうかを指定します。

通信遅延時間とは,dc_rpc_call関数のレスポンスタイムのうち,実際の通信(要求送信および応答送信)に掛かった時間のことです。

通信遅延時間統計情報は同期応答型RPCの場合だけ取得します。

Y

通信遅延時間統計情報を取得します。

N

通信遅延時間統計情報を取得しません。

my_host="ホスト名"|MYHOST

 〜〈1〜255文字の識別子〉

OpenTP1が使用するネットワークアダプタをホスト名として指定します。識別子に使用できる文字は英数字,ピリオド,およびハイフンです(ただし,IPアドレス形式は除く)。ホスト名は,/etc/hostsファイルまたはDNSなどで,IPアドレスとのマッピングができなければなりません。なお,ホスト名にlocalhostまたはIPアドレスが127で始まるホスト(例:127.0.0.1)は指定しないでください。

ホスト名は,1個だけ指定できます。

このオペランドを省略,またはMYHOSTを指定した場合は,hostnameコマンドが返す名称が指定されたと解釈されます。

また,hostnameコマンドが返す名称がIPアドレスとマッピングできる環境設定(/etc/hosts,DNSなど)が必要です。

OpenTP1は,次の判断をするためにこのオペランドを使用します。

  • OpenTP1がRPCを行う際,通信相手が同一マシン上に存在するのか,または別マシン上に存在するのかを判断するため。

  • 複数のIPアドレスを持つマシンの場合,使用するホスト名をmy_hostとdcbindhtに指定することで自OpenTP1が使用するIPアドレスを判断し,通信相手に自OpenTP1のIPアドレスを通知するため。

  • 64文字以上のホスト名を指定した場合,TP1/Client/WまたはTP1/Client/Pのブロードキャストによるユーザ認証の使用に注意が必要です。詳細はマニュアル「クライアント使用の手引き TP1/Client/W,TP1/Client/P編」を参照してください。

jp1_use=Y|N

 〜《N》

JP1イベントサービス機能にイベント登録をするかどうかを指定します。

Y

イベント登録をします。

N

イベント登録をしません。

JP1イベントサービス機能へ登録するイベントについては,マニュアル「OpenTP1 運用と操作」を参照してください。

rpc_message_level=RPCのトラブルシュートメッセージの表示レベル

 〜〈符号なし整数〉((0〜2))《2》

RPCトラブルシュートメッセージの表示レベルを指定します。

0

トラブルシュートメッセージを表示しません。

1

表示レベル1以下のトラブルシュートメッセージを表示します。

2

表示レベル2以下のトラブルシュートメッセージを表示します。

RPCトラブルシュートメッセージ(KFCA00325-E〜KFCA00332-W)と表示レベルの関係を,次に示します。

メッセージ

表示レベル

KFCA00325-E

0

KFCA00326-W

2

KFCA00327-W

1

KFCA00328-W

2

KFCA00329-E

0

KFCA00330-E

0

KFCA00331-W

KFCA00332-W

1

(凡例)

−:表示されません。

RPCトラブルシュートメッセージは,標準エラー出力に出力されます。

rpc_multi_tp1_in_same_host=Y|N

 〜《N》

同一ホスト内に複数のOpenTP1を稼働させ,これらを同一グローバルドメインとして運用するかどうかを指定します。

注※

ここでのグローバルドメインとは,次のノード名の集合を指します。

システム共通定義のname_domain_file_useオペランドにNを指定している場合

システム共通定義のall_nodeオペランド,およびall_node_exオペランドで指定したノード名の集合です。

システム共通定義のname_domain_file_useオペランドにYを指定している場合

ドメイン定義ファイルに指定したノード名の集合です。なお,ドメイン定義ファイルは次の場所に格納します。

  • all_nodeのドメイン定義ファイル

    $DCCONFPATH/dcnamndディレクトリ下

  • all_node_exのドメイン定義ファイル

    $DCCONFPATH/dcnamndexディレクトリ下

Y

同一ホスト内の複数のOpenTP1を,同一グローバルドメインとして運用します。

N

同一ホスト内の複数のOpenTP1を,同一グローバルドメインとして運用しません。

このオペランドの指定は,OpenTP1を停止してから変更してください。変更後は,dcsetupコマンドを入力してからOpenTP1を起動してください。

max_socket_descriptors=ソケット用ファイル記述子の最大数

 〜〈符号なし整数〉((32〜2032))《64》

OpenTP1制御下のプロセスで,ソケット用に使用するファイル記述子の最大値を指定します。

指定値の範囲は,適用OSがAIX,HP-UXまたはWindowsの場合は32〜2032,適用OSがSolarisまたはLinuxの場合は32〜1008です。

OpenTP1制御下のプロセスでは,システムサービスやユーザサーバとの間で,ソケットを使用したTCP/IP通信でプロセス間の情報交換をしています。そのため,同時に稼働するUAPプロセスの数によって,ソケット用のファイル記述子の最大数を変更する必要があります。

注※

MCFサービス(MCFマネジャサービス,MCF通信サービス,アプリケーション起動サービス,マッピングサービス,およびオンラインコマンドサービス)は対象外です。MCFサービスの場合は,「システムサービス共通情報定義」を参照してください。

ソケット用ファイル記述子の最大数の計算式を,次に示します。

↑(自ノード内UAPプロセス数※1 + システムサービスプロセス数※2)/0.8↑

↑↑:小数点以下を切り上げます。

注※1

自ノード内UAPプロセス数は,次に示す値の合計です。

  • 自OpenTP1内のUAPプロセス数

  • CUPから同時に起動するトランザクション数(クライアントサービス定義のparallel_countオペランドの指定値)

注※2

システムサービスプロセス数とは,自OpenTP1内のシステムサービスプロセスの数です。自OpenTP1内のシステムサービスプロセスは,rpcstatコマンドで表示されるサーバ名をカウントすることで求められます。rpcstatコマンドで表示されるサーバ名のうち,マニュアル「OpenTP1 解説」のOpenTP1のプロセス構造に記載されているシステムサービスプロセスをカウントしてください。

このオペランドの指定値が小さいと,OpenTP1制御下の他プロセスとのコネクションが設定できなくなるため,プロセスがKFCA00307-Eメッセージを出力して異常終了します。

このオペランドは,ユーザサービス定義とユーザサービスデフォルト定義の中でも指定できます。

指定値の優先順位は次のとおりです。

システムサーバの場合(1.>2.)
  1. 各システムサービス定義

  2. システム共通定義

ユーザサーバの場合(1.>2.>3.)
  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

max_socket_descriptorsオペランドの算出式はシステムサーバごとに異なります。そのため,システムサーバごとのmax_socket_descriptorsオペランドの値は,各システムサービス定義の計算式で算出した値を設定してください。

rpc_datacomp=Y|N

 〜《N》

OpenTP1システムで,クライアント側からのサービス要求時,およびサーバ側からのサービス要求応答時に,ユーザデータを圧縮して送信するかどうかを指定します。

このオペランドの指定は,dc_rpc_call関数でサービスを要求するクライアント側で有効になります。したがって,クライアント側のノードでrpc_datacomp=Yを指定していれば,サービスを受け付けるサーバのあるノードでrpc_datacomp=Yが指定されていなくても,サービス要求メッセージおよび応答メッセージのユーザデータを圧縮して送信します。ただし,サーバ側のシステムがユーザデータの圧縮機能をサポートしている場合に限ります。逆に,クライアント側でrpc_datacomp=Yを指定していなければ,サービスを受け付けるサーバのあるノードでrpc_datacomp=Yが指定されていても,サービス要求メッセージおよび応答メッセージのユーザデータを圧縮しません。

また,クライアント側のノードでrpc_datacomp=Yを指定しても,ユーザデータの圧縮効果がない場合,ユーザデータを圧縮しないでサービス要求を送信します。しかし,それに対する応答メッセージに圧縮効果がある場合は,応答のユーザデータは圧縮して返送します。

なお,rpc_datacomp=Yを指定した場合でも,サービス要求を受信するSPPのメッセージ格納バッファプール長(message_store_buflenオペランド)は,圧縮前のユーザデータ長でサイズを計算してください。

Y

サービス要求時とサービス要求応答時にユーザデータを圧縮して送信します。

N

サービス要求時とサービス要求応答時にユーザデータを圧縮しないで送信します。

domain_masters_addr="ドメイン名=ホスト名1〔:ポート番号1〕〔,ホスト名2〔:ポート番号2〕〔,ホスト名3〔:ポート番号3〕〕〕"〔,"ドメイン名=ホスト名1〔:ポート番号1〕〔,ホスト名2〔:ポート番号2〕〔,ホスト名3〔:ポート番号3〕〕〕"…〕

ドメイン指定のRPCを発行した際の,通信先のドメイン名とドメイン代表スケジュールサービスのホスト名(およびポート番号)を指定します。この定義を指定すると,ドメイン指定のRPCを発行した際にドメインネームサービスを検索しないで通信ができるため,RPCの応答時間が短縮できます。

ポート番号の指定を省略した場合は,domain_masters_portオペランドの値を仮定します。

ドメイン名 〜〈1文字以上の識別子〉

通信先のドメイン名を指定します。

ホスト名1,ホスト名2,ホスト名3 〜〈1〜255文字の識別子〉

スケジュールサービスのホスト名を指定します。

ホスト名1には第1優先のホスト名を,ホスト名2以降には第2優先のホスト名を指定します。

ホスト名に256文字以上指定した場合,指定した文字列の先頭から255文字までをホスト名として扱います。

ポート番号1,ポート番号2,ポート番号3 〜〈符号なし整数〉((5001〜65535))

スケジュールサービスのポート番号を指定します。

ポート番号1には第1優先のポート番号を,ポート番号2以降には第2優先のポート番号を指定します。

domain_masters_port=ドメイン代表スケジュールサービスのポート番号

 〜〈符号なし整数〉((5001〜65535))

ドメイン指定のRPCを発行した際に,ドメインネームサービスを検索しないで通信するために必要な,通信先のドメイン代表スケジュールサービスのポート番号を指定します。

domain_use_dns=Y|N

 〜《Y》

ドメイン指定のRPCを発行した際,domain_masters_addrオペランドに指定していないドメインへの検索をする場合に,ドメインネームサービスに問い合わせるかどうかを指定します。

Y

ドメインネームサービスに問い合わせます。

N

ドメインネームサービスに問い合わせません。

client_uid_check=Y|N

 〜《HP-UXまたはWindowsの場合:Y AIX,LinuxまたはSolarisの場合:N》

TP1/Client/WまたはTP1/Client/Pに対するユーザ認証機能を使用するかどうかを指定します。

Y

TP1/Client/WまたはTP1/Client/Pに対するユーザ認証機能を使用します。なお,適用OSがHP-UXで「高信頼性システム」,または「HP-UX Shadow Passwords」を適用する場合は,Sを指定してください。適用OSがHP-UX以外の場合にSを指定すると定義不正になります。

N

TP1/Client/WまたはTP1/Client/Pに対するユーザ認証機能を使用しません。

Nを指定した場合,TP1/Client/WまたはTP1/Client/Pからの認証要求は,どのようなログイン名を指定しても認証されます。このオペランドにY(HP-UXの場合はS)を指定した場合に,適用OSがAIX,Linux,Solaris,またはHP-UXのときは,namdプロセスのユーザIDがrootになります。

rpc_port_base=最小ポート番号

 〜〈符号なし整数〉((5001〜65535))

OpenTP1制御下のウェルノウンポート化されていないプロセスが用いる受信用ポート番号を,特定の範囲内の値に限定したい場合に,その最小値を指定します。

使用するポート番号の数は,プロセスサービス定義のprc_process_countオペランドで指定した値(最大同時起動サーバプロセス数)に128を加えた値になります。したがってこのオペランドを指定すると,受信用のポート番号は,指定された範囲内の値になります。このオペランドは,OpenTP1のシステムサーバ,SUP,SPP,およびMHPで有効です。

このオペランドは,プロセスサービス定義のprc_process_countオペランドの指定値に128を加えた値と合わせて,65535を超えないように指定してください。65535を超えた場合は,このオペランドの指定値から65535までの範囲のポート番号と,OSが任意に割り当てるポート番号が使用されます。

次に示す場合,このオペランドの指定は無視され,OpenTP1制御下のウェルノウンポート化されていないプロセスのポート番号は,OSが任意に割り当てた番号になります。

  • このオペランドを省略した場合

  • プロセス起動時に,最小ポート番号から,最小ポート番号と最大同時起動サーバプロセス数に128を加えた値の合計値までの範囲から任意に選択したポート番号が使用中の場合

最小ポート番号から,最小ポート番号と最大同時起動サーバプロセス数に128を加えた値の合計値まで,またはこのオペランドの省略によってOSが任意に割り当てるポート番号の範囲に,OpenTP1のウェルノウンポート,および他プログラムのウェルノウンポートを定義しないでください。

prf_trace=Y|N

 〜《Y》

性能検証用トレース情報を取得するかどうかを指定します。

Y

性能検証用トレース情報を取得します。

N

性能検証用トレース情報を取得しません。

trn_prf_trace_level=トレースの取得レベル

 〜((00000001〜00000003))《00000003》

性能検証用トレース情報の取得で,トランザクション関係のトレースの取得レベルを指定します。トランザクション関係のトレースのイベントIDは0x4000から0x4150です。イベントIDの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。

00000001

性能検証用トレース情報(イベントID:0x4000〜0x4017)を取得します。

00000002

トランザクションの開始時および終了時のイベントの性能検証用トレース情報(イベントID:0x4100,0x4150)を取得します。

00000003

00000001および00000002両方の性能検証用トレース情報を取得します。

core_suppress_watch_time=実時間監視タイムアウトプロセスのコアダンプ出力を抑止する時間間隔

 〜〈符号なし整数〉((0〜3600))《0》(単位:秒)

実時間監視でタイムアウトを検知して強制停止させるプロセスについて,コアダンプの出力を抑止する時間間隔を秒単位で指定します。

以前に実時間監視タイムアウトを検知しコアダンプを出力してプロセスを停止させてから,このオペランドで指定した時間を経過するまでは,実時間監視タイムアウトでプロセスを強制停止させる際にコアダンプを出力しません。

このオペランドに0を指定した場合は,コアダンプ出力を抑止しないで,実時間監視タイムアウトで強制停止させるプロセスは,すべてコアダンプを出力します。

rpc_netmask=TCP/IPのネットワーク定義ファイルに指定したサブネットマスク値

OpenTP1が稼働する環境のネットワークでサブネットを使用している場合, TCP/IPのネットワーク定義ファイルに指定したサブネットマスク値を,「.」記法の文字列のインターネットアドレスで指定します(例:「rpc_netmask=255.255.255.0」)。なお,インターネットアドレスの「.」と数字の間にスペースを挿入すると,スペース以降の値は解釈されないので注意してください。

TCP/IPのネットワーク定義ファイルにサブネットマスクを指定していない場合は,このオペランドを指定する必要はありません。

このオペランドは,dcbindht定義コマンドを指定している場合に有効です。サブネットを使用したネットワーク上で稼働させ,かつdcbindht定義コマンドを指定している場合は,必ず指定しなければなりません。サブネットを使用したネットワーク上で稼働させている場合に,このオペランドを指定しなかったときは,dcbindht定義コマンドに指定したネットワーク名とOpenTP1の認識するネットワークアドレスが一致しないため,dcbindht定義コマンドの指定値が有効になりません。

dcbindht定義コマンドを使用したシステムを,サブネットを使用したネットワーク環境で運用する場合,OpenTP1のグローバルドメイン下のネットワークはすべて同一サブネットマスクを使用していることが前提となります。OpenTP1のグローバルドメイン下で,異なるサブネットマスクを使用したネットワークが存在する場合,dcbindht定義コマンドの機能が正常に動作しないことがあります。

ipc_sockctl_highwater=ソケットの一時クローズ処理開始数パーセンテージ〔,ソケットの一時クローズ処理非対象数パーセンテージ〕

 〜〈符号なし整数〉((0〜100))《100,0》

max_socket_descriptorsオペランドの指定値に対して,ソケットの一時クローズ処理開始数パーセンテージを指定します。

OpenTP1は,プロセス内のソケット用に使用しているファイル記述子の数が,次の値を超えた時点で,一時クローズ処理を開始します。

max_socket_descriptorsオペランドの指定値
×(ソケットの一時クローズ開始数パーセンテージ/100)

ソケットの一時クローズ処理開始数パーセンテージに0を指定した場合,コネクションを確立するたびに一時クローズ処理が実行されます。一時クローズ処理については,マニュアル「OpenTP1 解説」を参照してください。

また,一時クローズ処理の対象外とするコネクション数のパーセンテージも指定できます。一時クローズ処理の対象外とするコネクション数は,次の値です。

max_socket_descriptorsオペランドの指定値
×(ソケットの一時クローズ非対象数パーセンテージ/100)

ソケットの一時クローズ非対象数パーセンテージには,ソケットの一時クローズ処理開始数パーセンテージ以下の値を指定してください。ソケットの一時クローズ処理開始数パーセンテージより大きい値を指定した場合は,ソケットの一時クローズ処理開始数パーセンテージと同じ値が指定されたものとして動作します。

OpenTP1は,プロセス内で確立したコネクションを,確立した順に管理しています。ソケットの一時クローズ処理非対象数パーセンテージを指定した場合,最も古く確立されたコネクションから順に,一時クローズ処理要求が送信されます。

max_socket_descriptorsオペランドの指定値が大きくなく,かつソケットの一時クローズ処理開始数パーセンテージに小さい値が指定されていると,一時クローズ要求が多発し,性能に影響を与えたり,通信障害になったりすることがあります。

このオペランドは,rapリスナーサービス定義,ユーザサービスデフォルト定義,またはユーザサービス定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義,またはrapリスナーサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

ipc_sockctl_watchtime=ソケット再利用可能監視時間

 〜〈符号なし整数〉((0〜65535))《180》(単位:秒)

プロセス内のソケット用に使用しているファイル記述子の数が,max_socket_descriptorsオペランドの指定値になった時点から,一時クローズ処理によってソケットが再利用できるようになるまでの監視時間(秒)を指定します。

UAPが異常終了した場合に閉塞するかどうかはholdオペランド,term_watch_timeオペランドの指定によります。詳細については,ユーザサービス定義のholdオペランドおよびterm_watch_timeオペランドの説明を参照してください。

一時クローズ処理は,コネクションを確立したプロセス間の合意によってコネクションを切断するため,一時クローズ処理の要求を送信したプロセスはその応答を受けるまではコネクションを切断できません。応答を受信したあと,コネクションは切断され,ソケットが再利用できるようになります。

ipc_sockctl_watchtimeオペランドの指定値を経過しても,どのプロセスからも一時クローズ処理要求に対する応答が返らない場合,プロセスは強制停止されます。ipc_sockctl_watchtimeオペランドに0を指定した場合,無限に待ちます。

このオペランドは,rapリスナーサービス定義,ユーザサービスデフォルト定義,またはユーザサービス定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義,またはrapリスナーサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

ipc_conn_interval=コネクション確立監視時間

 〜〈符号なし整数〉((8〜65535))《8》(単位:秒)

データ送信時のコネクション確立監視時間を秒単位で指定します。

ノンブロッキングモードで呼び出したconnect()システムコールに対する応答を受信するまでの監視時間を指定します。

このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

ipc_send_interval=データ送信監視間隔

 〜〈符号なし整数〉((5〜32767))《5》(単位:秒)

データ送信時のデータ送信監視間隔を指定します。

このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

ipc_send_count=データ送信監視回数

 〜〈符号なし整数〉((1〜32767))《5》

データ送信時の送信完了監視回数を指定します。

OpenTP1のデータ送信監視時間は,次に示す秒数で監視します。

ipc_send_intervalオペランドの指定値×ipc_send_countオペランドの指定値

このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

ipc_header_recv_time=通信制御データの受信監視時間

 〜〈符号なし整数〉((5〜32767))《10》(単位:秒)

OpenTP1が,データの受信が始まったことをTCP/IPから通知されてから,通信制御データを受信するまでの監視時間を指定します。

このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

rpc_close_after_send=Y|N

 〜《N》

ノード間通信で確立したコネクションを保持したままにするか,ノード間通信が終了するたびにコネクションを切断するかどうかを指定します。このオペランドは,データの送信元に設定するオペランドです。

Y

ノード間通信が終了するたびにコネクションを切断する。

N

ノード間通信で確立したコネクションを保持する。

このオペランドにYを指定すると,次の状態を即時に検知できます。

  • ノード間で通信を行うOpenTP1で発生したハード障害によってコネクションが切断された

  • ノード間に設置されている無通信監視をする通信機器によってコネクションが切断された

ただし,ノード間通信が発生するたびにコネクションを確立し,通信が終了するとコネクションを切断するため,OSのコネクション確立と解放を繰り返す分だけオーバーヘッドが増加します。

このオペランドは,ユーザサービス定義とユーザサービスデフォルト定義にも指定できます。

指定値の優先順位は次のとおりです。

システムサーバの場合(1.>2.)
  1. 各システムサービス定義

  2. システム共通定義

ユーザサーバの場合(1.>2.>3.)
  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

注意事項
  • OpenTP1で使用する通信で,毎回コネクション確立・切断を実施するため,性能が低下するおそれがあります。性能に関しては,十分に検討したあと,この機能を使用してください。

  • OpenTP1で使用する通信で,毎回コネクション確立・切断を実施するため,OSのポートを大量に消費するおそれがあります。ポートに関してのOS資源見積もり,設定を十分に検討したあと,このオペランドを使用してください。ポートに関するOSの設定の詳細は,OSのマニュアルを参照してください。

  • 次に示す機能では,ノード間のTCP/IP通信であっても,このオペランドは適用されません。

    ・OpenTP1クライアント製品とTP1/Server Base間の通信

    ・リモートAPI機能を使用し,rapクライアントからTP1/Server Baseのrapリスナー,rapサーバへの通信

    ・XAリソースサービスを使用したトランザクション連携機能

    ・TP1/Message Queueのチャネルを使用した,他のMQシステム(メッセージキューイング機能のキューマネジャがあるシステム)とTP1/Message Queueとのチャネル通信

    ・TP1/Message Queueのクライアント製品(TP1/Message Queue - Access)であるMQCクライアント機能とTP1/Message QueueのMQCサーバ機能との通信

    ・メッセージ制御機能(TP1/Message Control)を使用した,相手システムとの通信

name_notify=Y|N

 〜《N》

自ノードのOpenTP1起動時に,all_nodeおよびall_node_exオペランドで指定したノードで起動するOpenTP1に対し起動通知を行うかどうか,または自ノードのOpenTP1が他ノードのOpenTP1からの起動通知を受け付けるかどうかを指定します。

Y

起動通知機能を使用します。

N

起動通知機能を使用しません。

なお,このオペランドに指定した値に関係なく,namunavlコマンドは動作します。

ノード自動追加機能を使用する場合の,このオペランドの動作を次に示します。

オペランドにYを指定した場合
  • ノードリストに登録されているノード,およびall_node_exオペランドで指定したノードのOpenTP1に対して起動通知を行います。また,起動通知を受け付けます。

  • マネジャノードでは,起動通知の送信元ノードがノードリストに登録されていないときは,送信元ノードをノードリストに追加します。

オペランドにNを指定した場合

他ノードのOpenTP1に対して起動通知をしません。また,他ノードのOpenTP1からの起動通知を受け付けません。ただし,マネジャノードでは,起動通知の送信元ノードがノードリストに登録されていないときは,送信元ノードをノードリストに追加します。

なお,マネジャノードでは,新たに起動したエージェントノードからのノードリスト要求を起動通知と解釈します。

  • この機能は,ノードごとにユニークなIPアドレスが割り振られていることを前提としているため,同一IPアドレスで複数のOpenTP1が起動する(1LANボードだけ使用時など)システムでは,起動通知機能を使用しないでください。

  • 起動通知機能を使用する場合,自ノードのall_nodeオペランドまたはall_node_exオペランドで指定した起動通知の通知先ノードでは,all_nodeオペランドまたはall_node_exオペランドに,自ノードを指定してください。

all_node_ex="ノード名〔:ポート番号〕"〔,"ノード名〔:ポート番号〕"…〕

あて先指定のRPCによって,all_nodeオペランドに指定したノード名以外に通信する可能性のあるOpenTP1システムのノード名およびそのネームサーバがウェルノウンポート番号として使用するポート番号を指定します。自ノードのOpenTP1起動時に,all_node_exオペランドおよびall_nodeオペランドで指定したノードで起動するOpenTP1へ起動通知を行います。起動通知機能を使用すると,コネクション確立時期を管理でき,確実に送信できるようになります。

ノード名 〜〈1〜255文字の識別子〉

OpenTP1システムのすべてのノード名を指定します。識別子に使用できる文字は英数字,ピリオド,およびハイフンです。ノード名とは,/etc/hostsなどで定まるホスト名のことです。ノード名に256文字以上指定した場合,指定した文字列の先頭から255文字までをノード名として扱います。なお,IPアドレスを指定する場合,ループバックアドレスなどIPアドレスが127で始まるホスト名(例:127.0.0.1)は指定しないでください。

ポート番号 〜〈符号なし整数〉((5001〜65535))《10000》

ネームサーバがウェルノウンポート番号として使用するポート番号を指定します。

ポート番号を省略した場合は,name_portオペランドで指定したネームサービスのポート番号が仮定されます。

注意事項
  • このオペランドに指定したノードがall_nodeオペランドにも指定されていたり,このオペランド内に重複して指定されていたりする場合,OpenTP1が最初に解析したオペランドに対してKFCA00604-Wメッセージが出力されます。この場合,最初に解析したノードが有効となります。解析の優先順位は次のとおりです(優先順位が高い>優先順位が低い)。

     ・all_nodeオペランド,all_node_exオペランド両方に同一ノードが指定されている場合

      all_nodeオペランド>all_node_exオペランド

     ・all_node(all_node_ex)オペランドに同一ノードが複数指定されている場合

      先行指定ノード>後続指定ノード

  • ノード自動追加機能を使用する場合,次の点に注意してください。

    システム共通定義のname_service_modeオペランドにmanagerまたはagentを指定したとき,このオペランドに指定したノードはノードリストに登録されません。ノードリストに登録するノードはこのオペランドに指定しないでください。

    マネジャノードでは,このオペランドに指定したノードの情報をエージェントノードへ配布しません。ノードリストに登録するノードは,このオペランドに指定しないでください。

rpc_server_busy_count=KFCA00356-Wメッセージを出力するバンドル回数

 〜〈符号なし整数〉((0〜32767))《20》

スケジュールサービスは,受け付けたサービス要求をスケジュールキューに登録します。スケジュールキュー登録処理は,スレッドを使用し,複数のサービス要求を並列にスケジュールキューに登録します。しかし,スケジュールキュー登録に使用するスレッドが不足したためスケジュールサービスがサービス要求を受け付けられない場合,KFCA00356-Wメッセージを出力します。

このオペランドには,KFCA00356-Wメッセージを出力するバンドル回数を指定します。KFCA00356-Wメッセージを出力する契機は,初めてスケジュールサービスがサービス要求を受け付けられなかった場合,または,KFCA00356-Wメッセージ出力後,スケジュールサービスがサービス要求を受け付けられなかった回数がこのオペランドの値以上になった場合にKFCA00356-Wメッセージを出力します。

このオペランドに0を指定した場合は,スケジュールサービスがサービス要求を受け付けられなかった回数に関係なく,KFCA00356-Wメッセージを出力しません。また,1を指定した場合は,スケジュールサービスがサービス要求を受け付けられないたびにKFCA00356-Wメッセージを出力します。

rpc_send_retry_count=TCP/IPコネクションの接続時にエラーが発生した場合のリトライ回数

 〜〈符号なし整数〉((0〜65535))《0》

サーバの応答送信時のTCP/IPコネクションの接続で,ECONNREFUSED(239),EHOSTUNREACH(242),ENETUNREACH(229)のどれかのエラーが発生した場合,このオペランドでリトライ回数を指定することによって,エラーを回避できることがあります。

0を指定した場合は,TCP/IPコネクションの接続時に上記のエラーが発生しても接続をリトライしません。

このオペランドに1〜65535を指定し,TCP/IPコネクションの接続時に上記のエラーが発生した場合,rpc_send_retry_intervalオペランドに指定した時間を待ったあと,接続をリトライします。

このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

rpc_send_retry_interval=TCP/IPコネクションの接続時にエラーが発生した場合のリトライ間隔

 〜〈符号なし整数〉((0〜300000))《0》(単位:ミリ秒)

サーバの応答送信時のTCP/IPコネクションの接続で,ECONNREFUSED,EHOSTUNREACH,ENETUNREACHのどれかのエラーが発生した場合,このオペランドでリトライ間隔をミリ秒単位で指定することによって,エラーを回避できることがあります。

0を指定した場合は,間隔を空けずにTCP/IPコネクションの接続をリトライします。1〜19は指定できません。1〜19を指定した場合は,20を仮定します。

このオペランドは,rpc_send_retry_countオペランドに1〜65535を指定した場合に有効になります。

このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義,各システムサービス定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.>4.)。

  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. 各システムサービス定義

  4. システム共通定義

thdlock_sleep_time=スレッド間で排他が競合した場合のスレッドの待ち時間

 〜〈符号なし整数〉((1〜32767))《15》(単位:ミリ秒)

OpenTP1制御下のプロセスが内部で用いる排他制御関数が,スレッド間で排他の競合が発生したため排他を獲得できなかった場合のスレッドの待ち時間を,ミリ秒単位で指定します。

このオペランドにデフォルト値(15)より小さい値を指定すると,selectシステムコールの発行頻度が高くなり,CPU利用率が増加します。

スレッドで排他の競合が発生した結果,排他を獲得できなかったスレッドが待つ場合,このオペランドの指定値に従い,OSのselectシステムコールを発行します。ただし,OSやマシン環境によってselectシステムコールの待ち時間精度は異なるため,実際の待ち時間がこのオペランドに指定された値より長くなるおそれがあります。

各OSでのこのオペランドの指定値による待ち時間の測定結果の例を次の表に示します。

なお,マシン環境(OSのバージョンやパッチ適用の有無など)によっては,待ち時間が次に示す表と異なる場合があります。selectシステムコールの待ち時間精度については,OSの仕様を確認してください。

OS名

thdlock_sleep_timeオペランドの指定値

待ち時間

AIX

指定値

指定値

Linux

指定値

指定値+約1ミリ秒

HP-UX

1〜9

約10ミリ秒

10〜19

約20ミリ秒

Solaris

1〜9

約10ミリ秒

10〜19

約20ミリ秒

Windows

1〜15

約16ミリ秒

16〜31

約31ミリ秒

このオペランドは,各システムサービス定義およびシステムサービス共通情報定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.)。

  1. 各システムサービス定義およびシステムサービス共通情報定義

  2. システム共通定義

ipc_listen_sockbufset=Y|N

 〜《Y》

OpenTP1がプロセス間通信で使用するlistenソケットの生成時に,ipc_sendbuf_sizeオペランド,およびipc_recvbuf_sizeオペランドに指定したTCP/IPの送受信バッファサイズをlistenソケットに設定するかどうかを指定します。

Y

listenソケットに,TCP/IPの送受信バッファサイズを設定します。

N

listenソケットに,TCP/IPの送受信バッファサイズを設定しません。

ipc_sendbuf_sizeオペランド,およびipc_recvbuf_sizeオペランドに指定したTCP/IPの送受信バッファサイズは,OpenTP1プロセスがコネクション確立要求を受信し,コネクションを確立したあとに設定します。コネクションを確立したあとにTCP/IPの送受信バッファサイズを変更するため,コネクションの接続元と接続先の間でTCP/IPのバッファサイズの値が異なり,通信の遅延が発生することがあります。

同一ノード内にTP1/Server BaseとTP1/Clientがあり,TP1/Clientから同一ノード内のTP1/Server Baseに対して通信を行う場合は,このオペランドにYを指定することをお勧めします。

このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

ipc_recvbuf_size=TCP/IPの受信バッファサイズ

 〜〈符号なし整数〉((0,8192〜1048576))《8192》(単位:バイト)

コネクションごとに確保されるソケットの受信バッファのサイズを指定します。高速な通信媒体やMTUの大きな通信媒体を使用している場合,この値を大きくすることによって性能向上を図れます。

0を指定した場合は,OSの受信バッファサイズを適用します。受信データサイズが8192バイトを超える場合,このオペランドに0を指定することで受信バッファのサイズが拡張され,性能向上を図れることがあります。

なお,0を指定する場合,このノードと通信するすべてのノードで同じ値を指定してください。同じ値を指定しない場合,通信するノードとバッファサイズに差異が生じ,通信性能が劣化するおそれがあります。また,1〜8191は指定できません。1〜8191を指定した場合,0を仮定します。

ipc_recvbuf_sizeオペランドに指定した値よりも小さいデータをやり取りし合う通信処理の場合,ipc_tcpnodelayオペランドにYを指定することを推奨します。

TCPは,受信したデータに対し,送達確認(ACK)パケットを返信します。

受信バッファのサイズに対し,受信したデータが小さいと,データを受信しても直ちにACKを返信しません(遅延ACK)。

このオペランドに大きな値を指定し,小さいデータをやり取りし合うような通信処理の場合,遅延ACKの影響によって性能が悪くなるおそれがあります。遅延ACKの詳細については,TCP/IPの文献を参照してください。

このオペランドの値は,OSで使用できるTCP/IPの受信バッファのサイズ以下の値を指定してください。指定するTCP/IPの受信バッファのサイズは,グローバルアーカイブジャーナル機能では有効になりません。グローバルアーカイブジャーナル機能の場合は,次のシステムサービス定義にTCP/IPの送受信バッファのサイズを指定してください。

  • ジャーナルサービス定義のjnl_arc_ipc_buff_sizeオペランド

  • グローバルアーカイブジャーナルサービス定義のjnl_arc_ipc_buff_sizeオペランド

このオペランドは,ユーザサービスデフォルト定義,ユーザサービス定義,各システムサービス定義でも指定できます。

指定値の優先順位は次のとおりです。

システムサーバの場合(1.>2.)
  1. 各システムサービス定義

  2. システム共通定義

ユーザサーバの場合(1.>2.>3.)
  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

ipc_sendbuf_size=TCP/IPの送信バッファサイズ

 〜〈符号なし整数〉((0,8192〜1048576))《8192》(単位:バイト)

コネクションごとに確保されるソケットの送信バッファのサイズを指定します。高速な通信媒体やMTUの大きな通信媒体を使用している場合,この値を大きくすることによって性能向上を図れます。

0を指定した場合は,OSの送信バッファサイズを適用します。送信データサイズが8192バイトを超える場合,このオペランドに0を指定することで送信バッファのサイズが拡張され,性能向上を図れることがあります。

RPCは,送信バッファにデータ送信する段階で4キロバイト単位で送信しており,ネットワークの状態によっては送信バッファ内のデータがネットワーク上に出力しきれないで,送信処理に失敗することがあります。例えば,rpc_max_message_sizeオペランドに8を指定して8メガバイトのメッセージを送信する場合,ネットワークの状態次第では4キロバイトの送信処理で35ミリ秒の待ちが無視できない回数発生し,通信性能に大きな影響を与えるおそれがあります。送信処理に失敗する場合の例を,次の図に示します。

図3‒1 送信バッファ内のデータがネットワーク上に出力しきれていないため,送信処理に失敗する場合の例

[図データ]

このような場合は,このオペランドに0を指定し,送信バッファサイズを調整することを推奨します。

なお,0を指定する場合,このノードと通信するすべてのノードで同じ値を指定してください。同じ値を指定しない場合,通信するノードとバッファサイズに差異が生じ,通信性能が劣化するおそれがあります。また,1〜8191は指定できません。1〜8191を指定した場合,0を仮定します。

ipc_sendbuf_sizeオペランドに指定した値よりも小さいデータをやり取りし合う通信処理の場合,ipc_tcpnodelayオペランドにYを指定することを推奨します。

このオペランドの値は,OSで使用できるTCP/IPの送信バッファのサイズ以下の値を指定してください。指定するTCP/IPの送信バッファのサイズは,グローバルアーカイブジャーナル機能では有効になりません。グローバルアーカイブジャーナル機能の場合は,次のシステムサービス定義にTCP/IPの送受信バッファのサイズを指定してください。

  • ジャーナルサービス定義のjnl_arc_ipc_buff_sizeオペランド

  • グローバルアーカイブジャーナルサービス定義のjnl_arc_ipc_buff_sizeオペランド

このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義,各システムサービス定義でも指定できます。

指定値の優先順位は次のとおりです。

システムサーバの場合(1.>2.)
  1. 各システムサービス定義

  2. システム共通定義

ユーザサーバの場合(1.>2.>3.)
  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

rpc_router_retry_count=ENOBUFS,ENOMEM発生時のリトライ回数

 〜〈符号なし整数〉((0〜65535))《30》

TP1/Server Baseの内部で発行するacceptシステムコールでENOBUFSが発生した場合,またはメッセージ受信処理でENOMEMが発生した場合,メッセージ受信処理(acceptシステムコールも含む)のリトライ処理回数を指定します。

rpc_router_retry_interval=ENOBUFS,ENOMEM発生時のリトライ間隔

 〜〈符号なし整数〉((0〜3600000))《0》(単位:ミリ秒)

TP1/Server Baseの内部で発行するacceptシステムコールでENOBUFSが発生した場合,またはメッセージ受信処理でENOMEMが発生した場合,メッセージ受信処理(acceptシステムコールも含む)のリトライ処理間隔を指定します。0を指定した場合は,リトライ処理間隔を空けないで,メッセージ受信処理のリトライ処理を実行します。

なお,このオペランドに1〜9を指定した場合は,10を仮定します。

ipc_backlog_count=コネクション確立要求を格納するキューの長さ

 〜〈符号なし整数〉((0〜4096))《0》

コネクション確立要求を格納するキューの長さ(listenシステムコールのバックログ数)を指定します。

0(デフォルト値)を指定した場合,listenシステムコールのバックログ数に設定する実数値はOSによって異なります。デフォルト値を指定した場合の実数値については,「リリースノート」を参照してください。

実際のキューの長さは,指定した値より長くなる場合があります。

キューの長さの上限値,下限値は,各OSによって異なります。OSによって,キューの長さの上限値,下限値が制限されている場合,設定した値が有効にならないことがあります。コネクション確立要求を格納するキューの詳細については,OSのマニュアル,または,TCP/IPの文献を参照してください。

このオペランドで指定した値より多くの接続要求が瞬間的に発生すると,キューからあふれた接続要求は破棄されます。瞬間的に発生する接続要求の数を考慮した値を設定してください。

このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

statistics=Y|N

 〜《N》

共用メモリ上にシステム統計情報を取得するかどうかを指定します。

Y

共用メモリ上にシステム統計情報を取得します。

N

共用メモリ上にシステム統計情報を取得しません。

取得されるシステム統計情報を見るためには,dcstatsコマンドでジャーナルファイルに出力するか,dcreportコマンドで標準出力に出力してください。

取得されるシステム統計情報は,dcstatsコマンドの-sオプション指定時に取得されるシステム統計情報と同じです。

name_domain_file_use=Y|N

 〜《N》

OpenTP1起動時および再開始(リラン)時に有効にするドメイン構成を指定します。

namchgflコマンドを使用してドメイン構成を変更する場合の定義ファイルの指定方法および注意事項については,マニュアル「OpenTP1 運用と操作」を参照してください。

Y

ドメイン定義ファイルに指定したドメイン構成を有効にします。

N

システム共通定義に指定したドメイン構成を有効にします。

ドメイン定義ファイルには,all_nodeを指定するファイルと,all_node_exを指定するファイル,さらに優先選択ノードを指定する定義ファイルがあります。優先選択ノードの定義ファイルの指定方法は,all_nodeまたはall_node_exを指定するファイルと同じです。ファイル名称は任意の名称です。このオペランドを有効にするには,それぞれのファイルを次の場所に格納してください。

all_nodeを指定するファイル

$DCCONFPATH/dcnamndディレクトリ下

all_node_exを指定するファイル

$DCCONFPATH/dcnamndexディレクトリ下

優先選択ノードを指定する定義ファイル

$DCCONFPATH/dcnamprディレクトリ下

これらのファイルのノード名やポート番号に不正があった場合は,KFCA00656-E(ノード名不正),KFCA00657-E(ポート番号不正)またはKFCA00666-E(ホスト未定義)のメッセージを出力し,OpenTP1の起動に失敗します。

また,優先選択ノードの定義ファイルに指定したノードがall_nodeのドメイン定義ファイルに指定されていなかった場合は,KFCA00603-W(all_nodeに未定義)のメッセージを出力し,優先選択ノードの指定を無効としてOpenTP1を起動します。なお,同一ファイル内のほかの行で正しく定義されているノードについては,優先選択ノードの指定は有効となります。

それぞれのディレクトリ下に,複数のドメイン定義ファイルを格納した場合,同じディレクトリ下に格納されているすべてのドメイン定義ファイルを合わせて一つのドメイン(OpenTP1システム)を構成します。次の場合,自ノードだけのドメインとしてOpenTP1システムを構成します。

  • ドメイン定義ファイルが正しい場所に存在しない場合

  • ドメイン定義ファイルを格納するディレクトリが存在しない場合

  • ドメイン定義ファイルにノードが指定されていない場合

OpenTP1の起動中にこのオペランドを変更した場合の動作は保証できません。

Yを指定した場合,namndchgコマンドがエラーリターンします。Nを指定した場合,namchgflコマンドがエラーリターンします。

name_domain_file_useオペランドの指定による機能差について次の表に示します。

OpenTP1

の状態

name_domain_file_useオペランドの指定値

Y

N

正常開始

システム共通定義のall_nodeオペランド,およびall_node_exオペランドを無視して,ドメイン定義ファイルの指定でOpenTP1システムを構成する。

システム共通定義のall_nodeオペランド,およびall_node_exオペランドの指定でOpenTP1システムを構成する。

再開始

(リラン)

再開始が発生した時点の,all_nodeオペランド,およびall_node_exオペランドを無視して,ドメイン定義ファイルの指定でOpenTP1システムを構成する。

再開始時点の,all_nodeオペランド,およびall_node_exオペランドの指定でOpenTP1システムを構成する。

稼働中

namchgflコマンドでドメイン構成を変更できる。コマンド実行時点のドメイン定義ファイルの指定でドメイン構成を変更する。

namchgflコマンドでドメイン構成を変更できない。OpenTP1起動時点のname_domain_file_useオペランドの指定(N)が環境不正となり,コマンドがエラーリターンする。

namndchgコマンドでドメイン構成を変更できない。OpenTP1起動時点のname_domain_file_useオペランドの指定(Y)が環境不正となり,コマンドがエラーリターンする。

namndchgコマンドでドメイン構成を変更できる。コマンド実行時点のシステム共通定義のall_nodeオペランドおよび,all_node_exオペランドの指定でOpenTP1システムを構成する。

all_node_extend_number=ドメイン変更時の最大ノード数

 〜〈符号なし整数〉((0〜65535))《64》

namndchgコマンドまたはnamchgflコマンドでドメイン構成を変更する場合,変更後のドメインを構成する最大ノード数を指定します。

namndchgコマンドを使用する場合は,システム共通定義のall_nodeオペランドに指定するノードの最大数を指定してください。namchgflコマンドを使用する場合は,all_nodeのドメイン定義ファイル中に指定するノードの最大数を指定してください。

このオペランドに指定されたノード数と,all_nodeオペランドに指定されたノード数またはall_nodeのドメイン定義ファイル中に指定されたノード数とを合計した分の共用メモリの領域を確保します。

このオペランドに指定した値を超えるノード数を,システム共通定義またはドメイン定義ファイルに指定した場合,namndchgコマンドまたはnamchgflコマンドはエラーリターンし,KFCA00616-EおよびKFCA00654-Eメッセージを出力します。この場合,ドメインは変更されないで,コマンド実行前のドメイン構成のままになります。

all_node_ex_extend_number=ドメイン定義ファイルを使用したドメイン変更時の最大ノード数

 〜〈符号なし整数〉((0〜65535))《64》

namchgflコマンドに-eオプションを指定してドメイン構成を変更する場合,変更後のドメインを構成する最大ノード数を指定します。

all_node_exのドメイン定義ファイル中に指定するノードの最大数を指定してください。

このオペランドに指定されたノード数と,all_node_exのドメイン定義ファイル中に指定されたノード数とを合計した分の共用メモリの領域を確保します。

このオペランドに指定した値を超えるノード数をドメイン定義ファイルに指定した場合,namchgflコマンドはエラーリターンし,KFCA00655-Eメッセージを出力します。この場合,ドメインは変更されないで,コマンド実行前のドメイン構成のままになります。

prc_current_work_path=カレントワーキングディレクトリ作成用のディレクトリパス

 〜〈パス名〉《$DCDIR》

OpenTP1プロセスのカレントワーキングディレクトリ作成用のディレクトリを絶対パスで指定します。実際のプロセスのカレントワーキングディレクトリは「このオペランドで指定したパス/tmp/home/プロセスごとに作成されたディレクトリ」になります。

このオペランドで指定したパスに誤りがある場合,またはこのオペランドの指定を省略した場合,カレントワーキングディレクトリ作成用のディレクトリは$DCDIRになります。したがって,実際のプロセスのカレントワーキングディレクトリは「$DCDIR/tmp/home/プロセスごとに作成されたディレクトリ」になります。

パス名に指定できる文字数は,最大50文字です。

OpenTP1起動時,およびdcresetコマンド実行時に,このオペランドで指定したディレクトリにtmpディレクトリが存在する場合,いったんtmpディレクトリが削除されたあと,再作成されます(コアファイルが存在する場合は,$DCDIR/spool/saveまたはプロセスサービス定義のprc_coresave_pathオペランドで指定したディレクトリに退避されます)。

なお,このオペランドで指定したディレクトリのtmpディレクトリを削除の際,削除するディレクトリ下にユーザが作成したデータが多数存在すると,ディレクトリの削除に時間が掛かり,OpenTP1の起動やdcresetコマンドの完了が遅くなります。

このため,ユーザプログラムから多数のデータを作成する環境の場合,次の対策を検討してください。

  • このオペランドで指定したディレクトリ,およびOpenTP1ディレクトリ以外の場所にデータを作成する。

  • OpenTP1の停止前,およびdcresetコマンド実行前に,このオペランドで指定したディレクトリのサーバ名下にある,ユーザプログラムが作成したデータを削除する。

このオペランドで指定するディレクトリには,次の権限が必要です。

  • OpenTP1管理者がディレクトリを作成できる権限

  • OpenTP1グループが上記のディレクトリにファイル(コアファイルなど)を作成できる権限

同一マシン上で複数のOpenTP1を使用する場合,複数のOpenTP1のprc_current_work_pathオペランドに同じディレクトリを指定しないでください。指定したディレクトリが,ほかのOpenTP1で使用されている場合,そのディレクトリは使用しないで,デフォルトのディレクトリを使用します。

このオペランドの指定を変更する場合,まずOpenTP1を正常終了させてください。オペランドの変更後はdcresetコマンドを実行する必要があります。

このオペランドの指定を変更した場合,変更前にこのオペランドで指定していたディレクトリに,変更前に作成されたディレクトリが残っている場合があります。残っているディレクトリは,削除しても問題ありません。削除する場合は,OpenTP1を正常終了させてから削除してください。その後,削除したディレクトリを再作成して再度使用する場合は,dcresetコマンドを実行する必要があります。

このオペランドとプロセスサービス定義のprc_coresave_pathオペランドは,同じパーティション上に設定することをお勧めします。

このオペランドを指定する場合,オンラインテスタ機能は使用しないでください。

rpc_max_message_size=RPC送受信電文の最大長

 〜〈符号なし整数〉((1〜8))《1》(単位:メガバイト)

RPCコールで送受信できるメッセージ(ユーザ電文)の最大長を指定します。

このオペランドを指定する場合は,システム共通定義のall_nodeオペランドに指定したすべてのノードで同じ値を指定してください。同じ値を指定しない場合,送信先ノードのノード間負荷バランス機能が実行されたときに,RPCコール(dc_rpc_call,dc_rpc_call_to)がDCRPCER_NET_DOWNでエラーリターンするおそれがあります。

このオペランドを指定して1メガバイトより大きなメッセージを送信する場合は,次のことに注意してください。

  • SPPが起動しているOpenTP1ノードのバージョンは,このオペランドを使用できるバージョンにしてください。

    SPPが起動しているすべてのOpenTP1ノードのバージョンが,このオペランドを使用できないバージョンの場合は,RPCコール(dc_rpc_call,dc_rpc_call_to)はDCRPCER_NO_SUCH_SERVICE_GROUPまたはDCRPCER_TRNCHKでエラーリターンします。

  • サービス要求元のOpenTP1ノードを開始してから,SPPを起動してください。

    サービス要求元のOpenTP1ノード開始前にSPPを起動した場合は,RPCコール(dc_rpc_call,dc_rpc_call_to)がDCRPCER_NO_SUCH_SERVICE_GROUPでエラーリターンするおそれがあります。

このオペランドを指定した場合,RPCコールで送信できるメッセージの最大長は,DCRPC_MAX_MESSAGE_SIZEの値(1メガバイト)ではなく,このオペランドに指定した値になります。ただし,rpc_max_message_sizeオペランドの値の指定を省略した場合,またはrpc_max_message_sizeオペランドに1を指定した場合は,メッセージの最大長は,DCRPC_MAX_MESSAGE_SIZEの値(1メガバイト)になります。

このオペランドを指定しないで動作していた環境で,このオペランドの値に2以上を指定し,1メガバイト以上のメッセージを送信した場合,メモリ不足が発生するおそれがあります。そのため,このオペランドを指定する場合は,実装するメモリ量やプロセスで使用できる最大メモリ量を考慮して指定してください。スケジュールサービスを使用した場合のメモリ量の最大値は次の式で求められます。

最大使用メモリ量 = rpc_max_message_sizeオペランド指定値×64×2(単位:メガバイト)

このオペランドを指定すると,UAPプロセスでもメモリ使用量が増加する可能性があります。UAPプロセスのメモリ使用量に,このオペランドで指定したサイズを加算してください。また,RPCトレースを取得する場合,すべてのユーザ電文を取得しますので,UAPプロセスのRPCトレース取得処理に時間が掛かるおそれがあります。

このオペランドを指定して次の機能を使用した場合の動作は保証できません。

  • 通信先を指定した遠隔サービス(dc_rpc_call_to)のスケジューラデーモンのポート指定

  • ネームサービスを使わない通信(dcsvgdef定義コマンド)

  • ドメイン代表スケジュールサービス機能

  • XATMIインタフェースを使用した通信

  • ゲートウェイプログラムを使用した通信

  • UAPテスタ機能(オンラインテスタ機能,オフラインテスタ機能,MCFオンラインテスタ機能)

このオペランドを指定して,1メガバイト以上のメッセージをCUPへ一方通知する場合は,1メガバイト以上のメッセージを受信できるバージョンのTP1/Clientを使用してください。

このオペランドを指定して,データ圧縮機能を使用する場合は,圧縮後のメッセージ長が1メガバイト以下でも,RPCコール(dc_rpc_call,dc_rpc_call_to)のin_lenの値が1メガバイトより大きければ,1メガバイト以上のメッセージを送信すると判断します。

uap_trace_file_put=Y|N

 〜《N》

UAPトレースのトレース情報を,ファイルに取得するかどうかを指定します。

Y

トレース情報をUAPトレースデータファイルに取得します。この場合,ユーザサーバを終了させないで,UAPトレースの編集出力ができるようになります。UAPトレースデータファイルについては,マニュアル「OpenTP1 運用と操作」を参照してください。

トレース情報をファイルに取得できなかった場合,プロセス固有領域にトレース情報を取得します。

N

トレース情報をプロセス固有領域に取得します。この場合,ユーザサーバをアボートしたときにだけ,UAPトレースの編集出力ができます。

Yを指定した場合,ユーザサーバダウン時,またはOpenTP1終了後の再開始時に,UAPトレースデータファイルのバックアップファイルを各サーバで最大6世代取得します。バックアップファイルの内訳は,該当するサーバの正常終了時に3世代,コアファイルの出力を伴う異常終了時に3世代です。バックアップファイルの格納先は,プロセスサービス定義のprc_coresave_pathオペランドに指定した,コアファイルの格納先です。

Windowsの場合,UAPトレースの編集出力はuatdumpコマンドで行います。uatdumpコマンドについては,マニュアル「OpenTP1 テスタ・UAPトレース使用の手引」を参照してください。

このオペランドは,ユーザサービス定義,ユーザサービスデフォルト定義でも指定できます。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

dcstart_wakeup_retry_count=OpenTP1起動通知エラーリトライ回数

 〜〈符号なし整数〉((0〜60))《0》

OpenTP1の起動通知に失敗した場合に,リトライする回数を指定します。

dcstartコマンドでOpenTP1を起動する場合,プロセスサーバにOpenTP1の起動開始が通知されます。プロセスサーバへの起動通知に失敗すると,dcstartコマンドの機能によって,自動的にこのオペランドの指定回数分,起動通知をリトライします。

省略した場合,または0を指定した場合はリトライしません。

dcstart_wakeup_retry_interval=OpenTP1起動通知エラーリトライ間隔

 〜〈符号なし整数〉((1〜60))《10》(単位:秒)

OpenTP1の起動通知に失敗した場合に,リトライする間隔を指定します。

このオペランドを有効にするには,dcstart_wakeup_retry_countオペランドに1以上を指定する必要があります。

リトライの間隔は,プロセスサーバへの起動通知に失敗してから,次に起動通知が行われるまでの待ち時間になります。

nam_prf_trace_level=NAMイベントトレースの取得レベル

 〜((00000000〜00000007))《00000003》

性能検証用トレース情報の取得で,ネームサービス関係のトレース(NAMイベントトレース)の取得レベルを指定します。NAMイベントトレースのイベントIDは0xf000から0xffffです。イベントIDの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。なお,次の値以外を指定した場合は,00000003を指定したと仮定されます。

00000000

NAMイベントトレースを取得しません。

00000001

サービスグループ情報の登録,削除などのNAMイベントトレース(イベントID:0xf100〜0xf1ff)を取得します。

00000002

ネームサーバ(namd)が行う他ノードとの通信処理に関するNAMイベントトレース(イベントID:0xf000〜0xf0ff)を取得します。

00000003

00000001および00000002のNAMイベントトレースを取得します。

00000004

UAPおよび運用コマンドのプロセスとネームサーバ(namd)との通信処理に関するNAMイベントトレース(イベントID:0xf200〜0xf2ff)を取得します。

00000005

00000001および00000004のNAMイベントトレースを取得します。

00000006

00000002および00000004のNAMイベントトレースを取得します。

00000007

すべてのNAMイベントトレース(00000001,00000002および00000004のNAMイベントトレース情報)を取得します。

取得したトレースをファイル出力または編集出力するには,prfgetコマンド,prfedコマンド,またはdcalzprfコマンドを使用します。これらのコマンドの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。

このオペランドの使用は,TP1/Extension 1をインストールしていることが前提です。TP1/Extension 1をインストールしていない場合の動作は保証できません。

fil_prf_trace_option=0|1

 〜《1》

FILイベントトレースを取得するかどうかを指定します。

0

FILイベントトレースを取得しません。

1

OpenTP1ファイルへのアクセス要求で,fil_prf_trace_delay_timeオペランドの指定値以上の処理時間が掛かった場合,遅延情報としてFILイベントトレースを取得します。

このオペランドに0または1以外の値を指定しないでください。0または1以外の値を指定した場合の動作は保証できません。

FILイベントトレースで取得されるイベントIDは,0x6805,0x6807,0x6905,0x6907,および0x6909です。

取得したトレースをファイル出力または編集出力するには,prfgetコマンド,prfedコマンド,またはdcalzprfコマンドを使用します。イベントIDの詳細,これらのコマンドの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。

このオペランドの使用は,TP1/Extension 1をインストールしていることが前提です。TP1/Extension 1をインストールしていない場合の動作は保証できません。

fil_prf_trace_delay_time=FILイベントトレース取得条件となるファイルアクセス処理時間のしきい値

 〜〈符号なし整数〉((1〜65535))《3》(単位:秒)

FILイベントトレースの取得条件となるファイルアクセス処理時間のしきい値を指定します。

しきい値を監視する時間精度は秒単位です。そのため,タイミングによっては,このオペランドに指定した値よりも短いファイルアクセス処理時間でFILイベントトレースが取得されることがあります。しきい値が小さくなるほど,誤差の影響を受けやすくなりますので注意してください。

jnl_prf_event_trace_level=JNL性能検証用トレースの取得レベル

 〜((00000000〜00000002))《00000001》

性能検証用トレース情報の取得で,JNL性能検証用トレースの取得レベルを指定します。JNL性能検証用トレースのイベントIDは0xc000から0xcfffまでです。イベントIDの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。なお,次の値以外を指定した場合は,00000001を指定したと仮定されます。

00000000

JNL性能検証用トレースを取得しません。

00000001

JNL性能検証用トレース(イベントID:0xc202,0xc203,0xc401,および0xc402)を取得します。

00000002

JNL性能検証用トレース(イベントID:0xc001〜0xc402)を取得します。

なお,取得レベルに00000002を指定した場合,すべてのトレース情報を取得できますが,オンライン性能に影響を与えるため,デバッグ時以外はデフォルトの出力レベルで運用することをお勧めします。

取得したトレースをファイル出力または編集出力するには,prfgetコマンド,prfedコマンド,またはdcalzprfコマンドを使用します。これらのコマンドの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。

このオペランドの使用は,TP1/Extension 1をインストールしていることが前提です。TP1/Extension 1をインストールしていない場合の動作は保証できません。

jnl_fileless_option=Y|N

 〜《N》

該当するOpenTP1ノードでジャーナルファイルレス機能を使用するかどうかを指定します。

Y

ジャーナルファイルレス機能を使用します。

N

ジャーナルファイルレス機能を使用しません。

ジャーナルファイルレス機能を使用する場合,次の機能は使用できません。

  • システムジャーナル機能

  • グローバルアーカイブジャーナル機能

  • トランザクション機能

  • XAリソースサービスによるトランザクション機能

  • DAM,TAMなどのOpenTP1提供の各種リソースマネジャ機能

  • 各種統計情報取得機能

統計情報取得機能を使用してもエラーにはなりませんが,ジャーナルファイルレス機能を使用する場合は,統計情報が取得されません。

統計情報取得機能以外の機能を使用した場合は,OpenTP1の開始処理がエラーになります。

トランザクション機能が使用できないため,ユーザサービス定義,またはユーザサービスデフォルト定義のatomic_updateオペランドにYを指定できません。Yを指定しても,Nを指定したものとして動作します。

また,トランザクション機能が使用できないため,XA連携機能も使用できません。このため,trnlnkrmコマンドによるOpenTP1に対するリソースマネジャの登録は不要です。

ジャーナルファイルレス機能を使用する場合に,使用できなくなる機能とコマンドなどの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。

prc_coredump_filter=コアファイルに共用メモリを含めるかの判断値

 〜〈符号なし整数〉((1,3,65,67))

コアファイルに共用メモリを含めるかどうかを設定します。このオペランドは,適用OSがLinuxの場合に指定できます。

1

共用メモリを含めません。

3

共用メモリを含めます。ただし,Hugepage機能が適用されている共用メモリは含みません。

65

Hugepage機能が適用されている共用メモリだけ含めます。

67

すべての共用メモリを含めます。

コアファイルに共用メモリを含めると,コアファイルのサイズが大きくなります。コアファイル出力時にディスクを圧迫するおそれがありますので,注意してください。コアファイルが出力されるディレクトリは,システム共通定義のprc_current_work_pathオペランドを参照してください。

コアファイルのサイズが大きくなると,次の処理時間に影響がありますので,注意してください。

  • dcsetupコマンドの実行時間

  • dcresetコマンドの実行時間

  • dccspoolコマンドの実行時間

  • dcrasgetコマンドの実行時間

また,コアファイルの出力に時間が掛かると,次の処理時間に影響がありますので,注意してください。

  • OpenTP1の再開始時間

  • 系切り替え時間

  • dcstopコマンドの-fdオプション実行時間

  • dcsvstopコマンドの-fdオプション実行時間

OpenTP1が使用する共用メモリのHugepage機能に関しては,マニュアル「OpenTP1 運用と操作」のHugepage機能の適用(Linux限定)の説明を参照してください。

UAPが使用するOpenTP1以外の他製品で,共用メモリにHugepage機能が適用されているかどうかは,各製品のマニュアルや設定を確認してください。

共用メモリの属性と,このオペランドの関係は次のとおりです。

共用メモリのHugepage属性

prc_coredump_filter指定値

1

3

65

67

指定なし

×

×

指定あり

×

×

(凡例)

○:共用メモリがコアファイルに含まれます

×:共用メモリがコアファイルに含まれません

このオペランドはシステム共通定義,ユーザサービスデフォルト定義,およびユーザサービス定義に指定できます。OpenTP1システム全体に有効にする場合は,システム共通定義に指定します。

指定値の優先順位は次のとおりです(1.>2.>3.)。

  1. ユーザサービス定義

  2. ユーザサービスデフォルト定義

  3. システム共通定義

    システム共通定義内のこのオペランドを変更した場合は,dcresetコマンドを実行してください。

このオペランドの指定値に従い,プロセス生成直後にOpenTP1がLinuxのコアファイルのフィルタリング(coredump_filter)へ設定します。指定値に誤りがあると,意図したとおりに動作しません。また,対応OS以外の環境で指定した場合は無視されます。

OpenTP1が提供する次のサービスでは,ユーザサービスデフォルト定義に指定した定義内容が有効になります。

  • MQCゲートウェイサービス

  • リポジトリ管理サーバ

  • リアルタイム統計情報サービス

  • rapクライアントマネジャ,rapリスナー,およびrapサーバ

注意事項

例えば,巨大な共用メモリを使用している環境で,コアファイルのサイズを極力抑えたい場合,このオペランドに67以外を指定することでコアファイルに共用メモリが含まれなくなり,コアファイルの大きさを抑えることができます。ただし,コアファイルに含まれている共用メモリは,そのコアファイルを出力したプロセスがその瞬間参照していた共用メモリであって,トラブルシュートに大変有益な情報です。コアファイルを出力する状態自体が何か問題がある場合であり,このコアファイルに含まれている共用メモリ情報はその問題を解決するのに必要な情報です。

このオペランドに67以外を設定することで,そのトラブルシュートに必要な情報が一部失われ,問題解決に時間が掛かるおそれがあります。特に,システムサーバがコアファイルを出力する状態は,システム的に異常な状態になっているおそれが高く,その瞬間の共用メモリがトラブルシュートに不可欠なケースがあります。

これらのことを踏まえた上で,このオペランドの指定値を決めてください。

name_service_mode=manager|agent|normal

 〜《normal》

ノード自動追加機能を使用する場合の,ノードの動作モードを指定します。

このオペランドは,ノード自動追加機能を使用する場合に指定します。

manager

マネジャノードとして動作します。

agent

エージェントノードとして動作します。

normal

ノード自動追加機能を使用しません。ノーマルノードとして動作します。

managerを指定した場合,ネームサービス定義のname_audit_confオペランドの指定を無視して,送受信型ノード監視機能によってエージェントノードとノーマルノードの稼働状況を監視します。そのため,同一ホストで複数のエージェントノードやノーマルノードを動作させる場合は,一つのホストに複数の異なるIPアドレスを設定し,それぞれのノードに異なるIPアドレスを設定してください。

agentを指定した場合,システム共通定義のname_manager_nodeオペランドにマネジャノードを指定してください。また,ネームサービス定義のname_audit_confオペランドの指定内容によって,次の動作をします。

  • name_audit_confオペランドを省略,または0を指定した場合

    送受信型ノード監視機能によって,マネジャノードの稼働状況を監視します。同時にノードリストの整合性を確保します。

  • name_audit_confオペランドに1,または2を指定した場合

    指定値を無視して送受信型ノード監視機能によって,マネジャノードの稼働状況を監視します。同時にノードリストの整合性を確保します。エージェントノード,およびノーマルノードとのノード監視は指定値に従って監視します。

managerまたはagentを指定した場合,ネームサービス定義のname_rpc_control_listオペランドにNが指定されたものとして動作します。

同一ホストで複数のマネジャノードを動作させる場合は,一つのホストに複数の異なるIPアドレスを設定し,それぞれのマネジャノードに異なるIPアドレスを設定してください。

ノードリストを引き継ぐ場合,OpenTP1の開始は,ノードリストファイル中に格納された動作モードに従います。nammstrコマンドで動作モードを変更したとき,このオペランドに指定した動作モードと一致しないことがあります。OpenTP1システムの現在の動作モードは,次のコマンドで確認できます。

  • OpenTP1のオフライン時:namnldspコマンド

  • OpenTP1のオンライン時:namsvinfコマンドに-xオプションを指定

namnldspコマンド,およびnamsvinfコマンドの詳細については,マニュアル「OpenTP1 運用と操作」を参照してください。

name_manager_node=ノード名〔:ポート番号〕

 〜〈1〜255文字の識別子〉|〈符号なし整数〉((5001〜65535))

OpenTP1システム内で稼働するマネジャノードのノード名,およびそのネームサーバがウェルノウンポート番号として使用するポート番号を指定します。

ポート番号を省略した場合は,name_portオペランドで指定したネームサービスのポート番号が仮定されます。

このオペランドは,ノード自動追加機能を使用する場合に,システム共通定義のname_service_modeオペランドにagentを指定したノード(エージェントノード)で指定します。agent以外を指定したノードでこのオペランドを指定した場合は,無効になります。

エージェントノードは,OpenTP1起動時に,このオペランドに指定したノードに対してノードリスト要求を送信します。ノードリストを正常に受信できた場合だけ,このオペランドで指定したノードをマネジャノードとして認識します。なお,このオペランドにマネジャノード以外のノードを指定した場合は,ノードリストを正常に受信できないため,指定したノードをマネジャノードとして認識しません。また,マネジャノードからのノードリストを受信できないため,RPCの要求範囲は,オペランドを指定したノードに限定されます。

エージェントノードの開始時に,マネジャノードが起動していない場合や,ネットワークなどの障害によって,通信ができない状態の場合も,RPCの要求範囲がオペランドを指定したノードに限定されることがあります。

注※

name_service_modeオペランドに,manager以外を指定しているノード,またはname_service_modeオペランドをサポートしていないノード

参考

ノードリストを引き継ぐと,このようなマネジャノードとの通信障害などの影響を受けないで,前回オンラインの終了時と同等のノードリストが使用でき,RPCの要求範囲を確保できます。

name_remove_down_node=Y|N

 〜《N》

マネジャノードが停止を検知したエージェントノード,およびノーマルノードのノード情報を,ノードリストから削除するかどうかを指定します。

このオペランドは,ノード自動追加機能を使用する場合に,マネジャノードで指定します。

Y

停止を検知したノードのノード情報をノードリストから削除し,マネジャノードの管理対象から除外します。

N

停止を検知したノードのノード情報をノードリストから削除しません。停止を検知したノードのノード情報をRPC抑止リストへ登録します。

ノード情報をノードリストから削除したい場合は,マネジャノードでnamndrmコマンドを実行してください。

次の場合は,ノードリストを削除しないで,次回のノードリストの整合性を確保するときに削除します。

  • マネジャノードがノードリストからノード情報を削除する際に,サービスグループ情報の検索など,ノードリストを参照する処理が並行して動作している場合

  • エージェントノードでノードリストの整合性を確保する際に,サービスグループ情報の検索など,ノードリストを参照する処理が並行して動作している場合

ノーマルノードを混在させて使用する運用の場合,このオペランドにはNを指定してください。Yを指定すると,ノーマルノードの停止によって,マネジャノードのノードリストからノーマルノードの情報が削除されます。ノーマルノードの再開始後も,マネジャノードとのコネクションが切断されているため,ノーマルノードのノード情報がノードリストに登録されません。また,マネジャノードやほかのエージェントノードのサービスグループ情報(起動,停止,負荷状態の変更)に関する通知がノーマルノードへ送信されません。ノード間の負荷バランスを保つために,このオペランドにはNを指定してください。

name_node_add_policy=using_only|all

 〜《using_only》

エージェントノードのノードリストに,ノーマルノードのノードの情報を登録するかどうかを指定します。

このオペランドは,ノード自動追加機能を使用する場合に,エージェントノードで指定します。

using_only

ノーマルノードの情報をノードリストに登録しません。

all

ノーマルノードの情報をノードリストに登録します。

このオペランドを省略,またはusing_onlyを指定したエージェントノードのノードリストには,ノーマルノードが登録されません。このエージェントノードとノーマルノード間では,サービスグループ情報(起動,停止,負荷状態の変更)に関する連携が行われません。ノーマルノードを使用し,かつOpenTP1システム内のノード間の負荷バランスを保つために,このオペランドにallを指定してください。

dc_deter_restart_on_stop_fail=Y|N

 〜《N》

実行系OpenTP1システムが,dcstop -f(-fd)コマンドによる強制停止処理中に異常終了したとき,系切り替えを抑止するかどうかを指定します。

Y

系切り替えを抑止します。

N

系切り替えを抑止しません。

tp1_monitor_time=OpenTP1監視機能の無応答監視時間

 〜〈符号なし整数〉((1〜60))《15》(単位:分)

OpenTP1監視機能の,プロセスサービスの無応答監視時間を指定します。このオペランドに指定した時間を過ぎてもプロセスサービスの稼働が確認できなかった場合,無応答状態と判断します。その後のOpenTP1監視機能の動作は,tp1_monitor_kill_signalオペランドの指定に従います。なお,OpenTP1監視機能の無応答監視時間は,OpenTP1監視サービスに対する監視にも適用されます。

OpenTP1監視機能の無応答監視時間は,業務システムの要件に応じて指定してください。

注意事項
  • HAモニタを併用する場合,HAモニタのサーバ対応の環境設定(serversファイル)のpatrolオペランドで指定する,サーバ障害監視時間よりも1分以上長い値を設定してください。

tp1_monitor_kill_signal=0|3|9

 〜《3》

OpenTP1監視機能の無応答監視時間満了時の動作を指定します。このオペランドの指定値ごとの無応答監視時間満了時の動作を次に示します。

tp1_monitor_kill_signalオペランドの指定値

無応答監視時間満了時の動作

KFCA33309-Eメッセージの出力

プロセスサービスの強制停止

プロセスサービスのコアファイルの出力

0

あり

なし

なし

3(デフォルト値)

あり

あり

あり

9

あり

あり

なし

注※

KFCA33309-Eメッセージを出力後,無応答監視満了時点から無応答監視時間を過ぎても稼働報告がなければ,そのつどメッセージを出力します。

通常,このオペランドはデフォルト値で使用してください。

0を指定した場合,OpenTP1監視サービスは無応答状態を検知しても,自動で復帰しません。OpenTP1を無応答状態から復帰させるには,KFCA33309-Eメッセージの出力を契機に,プロセスサービスを手動で強制停止してください。なお,プロセスサービスを強制停止するには,スーパユーザで実行する必要があります。

watch_time=最大応答待ち時間

 〜〈符号なし整数〉((0〜65535))《180》(単位:秒)

RPCによってプロセス間で通信する場合,サービス要求を送信してからサービスの応答が返るまでの待ち時間の最大値を指定します。

OpenTP1の終了処理で,このオペランドで指定した時間だけ終了処理を待ち合わせる場合があります。したがって,大きな値を指定した場合,OpenTP1の終了処理に時間が掛かるときがあります。

指定時間を過ぎても応答がない場合は,RPCは送受信タイムアウトとしてエラーリターンします。

0を指定した場合は,応答を受信するまで待ち続けます。0を指定した場合,OpenTP1が終了しないときがあります。

このオペランドは,システム共通定義以外の幾つかのシステムサービス定義の中でも指定できます。各システムサービス定義で指定した場合は,各システムサービス定義で指定した値が優先されます。

このオペランドは,デフォルト値で使用してください。

システム共通定義だけにこのオペランドを指定すると,指定した定義値がOpenTP1システム全体に有効となります。そのため,特別なチューニングを必要とする場合以外は,このオペランドの内容を変更しないことをお勧めします。チューニングを必要とする場合でも,ユーザサービスに対する設定は,ユーザサービスデフォルト定義で設定してください。

このオペランドのデフォルト値よりも,極端に小さな値または大きな値を指定すると,OpenTP1ダウンに至る障害が発生する場合がありますので,ご注意ください。

コマンド形式

次ページ以降に記述しています。

putenv形式のオペランド

LANG LANG設定値

 〜〈文字列〉

環境変数LANGを設定します。

LANG設定値には,適用するOSで規定されている,言語種別を設定します。未設定の場合,または不当な値が設定された場合は,英語が設定されたものとします。