Hitachi

OpenTP1 Version 7 分散トランザクション処理機能 OpenTP1 クライアント使用の手引 TP1/Client/W,TP1/Client/P編


8.2.5 TP1/Client/WとTP1/Client/Pで共通のオペランド

Windowsの場合はオペランドは英字小文字で指定します。

TP1/Client/Wでだけ使用できるオペランドについては,「DCCLTBACKLOGCOUNTオペランド」を,また,TP1/Client/Pでだけ使用できるオペランドについては,「8.2.6 TP1/Client/P固有のオペランド」を参照してください。

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

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

ネームサービスのポート番号を指定します。通信相手のTP1/Serverは,この定義で指定したポート番号でネームサービスを起動する必要があります。

ネームサービスのポート番号はクライアント環境定義DCHOSTに指定することもできます。

DCHOST=窓口となるTP1/Server 〜〈文字列〉

窓口となるTP1/Serverのホスト名およびポート番号を指定します。区切り文字','を使用して,複数の窓口となるTP1/Serverを指定できます。

形式

ホスト名〔:ポート番号〕〔,ホスト名〔:ポート番号〕,…〕

  • ホスト名 〜〈文字列〉

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

ホスト名として指定できる長さは,63文字までです。クライアント環境定義DCCLTOPTIONに00000008を指定した場合,255文字までです。なお,このオペランドに指定できる長さは,1023文字までです。

区切り文字','の後ろ以外は空白文字(スペースまたはタブ)を入れないでください。

ホスト名として,10進ドット記法のIPアドレスを指定することもできます。

ポート番号省略時は,クライアント環境定義DCNAMPORTの値が仮定されます。

DCHOSTにTP1/Serverを二つ以上指定し,窓口となるTP1/Serverの障害を検出した場合,クライアント環境定義DCHOSTSELECTがNのとき,現在窓口となっているTP1/Serverの次のTP1/Serverを参照して切り替えを試みます。クライアント環境定義DCHOSTSELECTがYのとき,障害を検出したTP1/Serverを除いて,窓口となるTP1/Serverをランダムに選択して切り替えを試みます。

クライアントユーザの認証要求時に窓口となるTP1/Serverを指定した場合,クライアント環境定義DCHOSTは無効になります。クライアントユーザの認証要求時に窓口となるTP1/Serverを指定していない場合でクライアント環境定義DCHOSTを指定していないときは,TP1/Clientがブロードキャストを行い,窓口となるTP1/Serverを決定します。TP1/Client/Pでブロードキャストを行う場合,hostsファイルにブロードキャストアドレスを指定する必要があります(ホスト名はbroadcastとしてください)。

DCWATCHTIM=最大応答待ち時間

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

応答型RPCの場合に,CUPからSPPへサービス要求を送ってからサービスの応答が返るまでの待ち時間の最大値を指定します。

指定時間を過ぎても応答が返らない場合は,CUPへエラーリターンします。

0を指定した場合は,応答を受信するまで無限に待ち続けます。

DCCLTCONNECTTIMEOUT=コネクション確立最大監視時間

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

データ送信時の,ノンブロッキングモードのコネクション確立に対する最大監視時間を指定します。

0を指定した場合,またはこの指定を省略した場合は,コネクション確立はブロッキングモードで行われ,コネクション確立の監視処理はOSによって行われます。

定義の指定に誤りがあった場合は,エラーログにKFCA02401-Eメッセージを出力し,dc_clt_cltin_s関数がDCCLTER_FATALでエラーリターンします。

相手システム未起動などの要因でコネクションの確立ができない場合,ここで指定した監視時間が経過する前にCUPから発行した関数がエラーリターンする場合があります。これは,ここで指定した最大監視時間よりもOSによるコネクション確立処理の監視時間が優先されるためです。OSによるコネクション確立処理の監視時間(コネクション確立要求の再送回数,間隔)はプラットフォームによって異なります。

この定義で指定する値は,TP1/Clientが提供する関数で実行されるコネクションの確立に掛かる最大監視時間です。関数の処理時間ではないので注意してください。使用する関数や機能によっては,関数の処理時間がこの定義で指定した値よりも大きくなる場合があります。

DCCLTTREXPTM=トランザクションブランチ限界経過時間

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

トランザクションブランチの処理時間の最大値を指定します。CUPからトランザクションを開始する場合だけ有効です。

指定時間を超えてもトランザクションブランチが完了しないとき,そのトランザクションブランチのプロセスを異常終了させて,ロールバックします。0を指定した場合は,時間監視をしません。

この指定を省略した場合,クライアントサービス定義のtrn_expiration_timeオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のtrn_expiration_timeオペランドの指定に従います。

なお,RPC機能を使用した場合に,他プロセスで実行するトランザクションブランチの処理時間も監視時間に含むかどうかは,DCCLTTREXPSPで指定してください。

DCCLTTREXPSP=Y|N|F

トランザクションブランチの処理を監視するとき,「トランザクショナルRPC実行プロセスのトランザクションブランチが,RPC機能を使ってほかのトランザクションブランチを呼び出し,その処理が終わるのを待つ時間」を監視時間に含むかどうかを指定します。

Y:監視時間に含みます。

NまたはF:監視時間に含みません。

この指定を省略した場合は,クライアントサービス定義のtrn_expiration_time_suspendオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のtrn_expiration_time_suspendオペランドの指定に従います。

DCCLTTRWATTM=トランザクション問い合わせ間隔最大時間

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

トランザクションの処理で,CUPがサーバに問い合わせ(トランザクションを制御する関数,またはdc_rpc_call_s関数の実行)をしてから次の問い合わせをするまでの間隔の最大時間を指定します。CUPからトランザクションを開始する場合だけ有効です。

トランザクション問い合わせ間隔最大時間は,トランザクションブランチ限界経過時間より小さい値を指定してください。

指定時間を超えても問い合わせがない場合,サーバ側で処理しているトランザクションのプロセスをロールバックします。

DCCLTTRCPUTM=トランザクションブランチCPU監視時間

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

トランザクションブランチが同期点処理までに使用できるCPU時間を指定します。CUPからトランザクションを開始する場合だけ有効です。

0を指定した場合,CPU時間を監視しません。

指定時間を超えた場合は,そのトランザクションブランチのプロセスを異常終了させ,ロールバックします。

この指定を省略した場合は,クライアントサービス定義のtrn_cpu_timeオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のtrn_cpu_timeオペランドの指定に従います。

Windows版TP1/Serverでは,CPU監視時間の指定は,サポートしていません。窓口となるTP1/ServerがWindows版の場合,このオペランドは無効になります。

DCCLTUTTRCMT=Y|N 〜《N》

オンラインテスタの機能を使ってCUPからトランザクションを開始させた場合,トランザクションを同期点でコミットするかロールバックするかを指定します。

Y:コミットします。

N:ロールバックします。

DCRCVPORT=受信で使用するCUPのポート番号

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

TCP/IP通信機能を使用してメッセージを受信する場合,メッセージを受信するCUPのポート番号を指定します。メッセージを送信する側では,このポート番号を指定して送信してください。なお,同一マシン内で,複数のプロセス,または複数のスレッドを同時に実行する場合は,それぞれ異なるポート番号を指定してください。

指定できるポート番号でも,OSまたはほかのプログラムで使用するポート番号は指定しないでください。指定した場合,応答データを正しく受信できないことがあります。なお,OSが使用するポート番号は,OSごとに異なります。OSのマニュアルなどを参照してください。ほかのアプリケーションとの重複を避けるため,OSが任意に割り当てるポート番号(動的ポートまたは短命ポートと呼ばれるポート番号)を使用しないでください。

メッセージの一方送信機能(dc_rpc_open_s関数の引数flagsにDCCLT_ONEWAY_SNDを指定)の場合,デフォルト値を含めこの定義で指定したポートは使用されません。

DCSNDHOST=接続先のノード名

〜〈文字列〉

TCP/IP通信機能を使用してメッセージを送信する場合,コネクションを確立して接続するノードのホスト名を指定します。

ホスト名として指定できる長さは,63文字までです。クライアント環境定義DCCLTOPTIONに00000008を指定した場合,255文字までです。

また,ホスト名として,10進ドット記法のIPアドレスを指定することもできます。

DCSNDPORT=接続先のポート番号

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

TCP/IP通信機能を使用してメッセージを送信する場合,コネクションを確立して接続するノードのポート番号を指定します。

DCSOCKOPENATRCV=Y|N 〜《N》

TCP/IP通信機能使用時に,メッセージの送受信をする場合の受信用ソケットの開設契機(送信相手からの接続を待ち受け始める契機)を指定します。この定義は,dc_rpc_open_s関数の引数flagsにDCCLT_SNDRCVを指定したときだけ有効です。

MHPがサーバ型でメッセージの送受信を一つのコネクションで行う場合,CUPからMHPにメッセージを送信した際に確立したコネクションを使用して送受信を行うため,CUPは受信用のソケットは使用しません。この定義にYを指定し,受信用ソケットを開設しないようにしてください。

MHPがクライアント型の場合,MHPからのメッセージをCUPが受信する際に受信用のソケットが必要なため,この定義にNを指定するか定義を省略してください。

この定義の具体的なユースケースは「2.5.5 ユースケースごとの設定方法とポートの割り当て」を参照してください。

Y:dc_rpc_open_s関数の実行時に受信ソケットを開設しません。ただし,次の関数を実行したときに,コネクションが確立されていない場合は受信用ソケットを開設します。

  • dc_clt_receive_s関数

  • dc_clt_receive2_s関数

  • dc_clt_assem_receive_s関数

N:dc_rpc_open_s関数実行時に,受信用ソケットを開設します。

DCCLTDELIVERYCHECK=Y|N 〜《N》

メッセージの送達確認機能を使用するかどうかを指定します。

Y:メッセージの送達確認機能を使用します。

N:メッセージの送達確認機能を使用しません。

メッセージの送達確認機能を使用すると,dc_clt_assem_send_s関数発行時は,メッセージを送信したあと,応答用専用データを受信してリターンします。dc_clt_assem_receive_s関数発行時は,メッセージを受信したあと,応答用データを送信してリターンします。

この定義にNを指定し,かつdc_clt_assem_send_s関数またはdc_clt_assem_receive_s関数を発行した場合は,メッセージの組み立て機能を使用した送受信となります。

DCUTOKEY=テストユーザID

〜〈1〜4文字の英数字〉

オンラインテスタ機能を使用してCUPを実行するときに指定します。

テストユーザIDを指定すると,CUPから起動されるSPPはテストモードで実行できます。

ただし,次の場合はテストモードで実行できません。

  • リモートAPI機能を使用する場合

  • クライアント拡張サービスを使用する場合

DCCACHE=サービス情報を一時的に格納する領域数

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

クライアントからRPCを実行するときに,窓口となるTP1/Serverのネームサービスに問い合わせたサービス情報を格納するキャッシュ領域の数を指定します。一つのキャッシュ領域に一つのサービス情報が格納されます。

この定義は次の値を目安にして指定してください。

DCCLTLOADBALANCE=Nの場合

クライアントからRPC要求を実行するサーバ数を指定してください。

一度格納したサービス情報は,dc_rpc_close_s関数を発行するまで,または空きキャッシュ領域が無いために別のサービス情報に上書きされるまで有効です。

DCCLTLOADBALANCE=Yの場合

マルチノードサーバで起動しているノード内のすべてのサーバ数を指定してください。

一度格納したサービス情報は,dc_rpc_close_s関数を発行するまで,空きキャッシュ領域が無いために別のサービス情報に上書きされるまで,またはクライアント環境定義DCCLTCACHETIMに指定した有効時間が過ぎるまで有効です。

一つのキャッシュ領域に対して消費するメモリ量は約150バイトです。なお,クライアント環境定義に「DCSCDDIRECT=Y」を指定している場合は,この定義は無効になります。

DCCLTCACHETIM=一時的に格納したサービス情報の有効時間

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

窓口となるTP1/Serverのネームサービスに問い合わせて取得したサービス情報の,有効時間を指定します。有効時間が過ぎたサービス情報はキャッシュ領域から削除されます。0を指定した場合は,有効時間はありません。一度格納したサービス情報はdc_rpc_close_s関数を発行するまで,または空きキャッシュ領域が無いために別のサービス情報に上書きされるまで有効です。なお,この定義はクライアント環境定義に「DCCLTLOADBALANCE=Y」を指定している場合にだけ有効です。クライアント環境定義に「DCSCDDIRECT=Y」を指定している場合は,この定義の指定は無効になります。

DCCLTLOADBALANCE=Y|N 〜《N》

マルチノードサーバでの運用時,RPC実行時に各ノードの負荷状態をTP1/Clientの内部で評価して,負荷の軽いサーバに分散させる機能(ノード間負荷バランス機能)を使用するかどうかを指定します。

Y:ノード間負荷バランス機能を使用します。

N:ノード間負荷バランス機能を使用しません。

この定義にYを指定する場合は,ノード数やRPC要求を行うサーバ数に応じて,次のクライアント環境定義を指定してください。

  • DCCACHE

  • DCCLTCACHETIM

  • DCCLTNAMEXTEND

この定義は,クライアント環境定義DCSCDDIRECT=Yのときは無効です。

DCCLTSERVICEGROUPLIST=サービスグループとRPC受け付け窓口の対応を定義したファイル名

〜〈文字列〉

OpenTP1以外のサーバへRPCを行う場合に使用する,サービスグループと,そのサーバのRPC受け付け窓口との対応関係を定義した,テキストファイルの名前(パス名も含む)を指定します。

なお,このファイルには次の形式で定義してください。

サービスグループ名 サーバのホスト名 窓口のポート番号
         〔,サーバのホスト名 窓口のポート番号,…〕〔コメント〕

テキストファイルの1行に,サービスグループとRPC受け付け窓口を指定します。RPC受け付け窓口は,複数指定できます。

サービスグループを複数指定する場合,複数行に分けて指定します。

各項目の間は,空白,またはタブ記号で区切ります。

各項目は次のように指定します。

サービスグループ名

31文字以内の任意の文字列指定します。

サーバのホスト名

接続先となるホストのホスト名を指定します。ホスト名として指定できる長さは,63文字までです。クライアント環境定義DCCLTOPTIONに00000008を指定した場合,255文字までです。10進ドット記法のIPアドレスを指定することもできます。

窓口のポート番号

RPCを受け付ける窓口のポート番号を数値で指定します(1〜65535)。

コメント

先頭に"#"を置き,コメントを記述できます。"#"以降,行末までのすべての文字は無視されます。また,コメントは省略できます。

RPC受け付け窓口を複数指定した場合は,その中から一つをランダムに選択し,接続を試みます。接続を試みた先のホストとの接続に失敗したとき,この接続先を除き再びランダムに選択し,接続を試みます。これを繰り返し,すべてのRPC受け付け窓口との接続に失敗した場合,dc_rpc_call_s関数はエラーを返します。

ファイルの内容の評価

ファイル中の定義内容が不正の場合,TP1/Clientは不正であった行の内容を無視し,無視した行の行番号をエラーログへ出力します(KFCA02431-Eメッセージ)。

同じサービスグループを複数行に分けて指定した場合,最初の行に指定した内容が有効となります。

dc_rpc_call_s関数で呼び出したサービスグループ名がこのオペランドに指定したファイルに定義されていない場合,クライアント環境定義DCCLTNOSERVERの指定によって次のように動作が異なります。

  • DCCLTNOSERVER=Yの場合

    即時にDCRPCER_NO_SUCH_SERVICE_GROUPとなります。

  • DCCLTNOSERVER=N,または指定を省略している場合

    dc_rpc_call_s関数で呼び出したサービスグループ名がこのオペランドに指定したファイルに定義されていないことを認識したあとに,TP1/ServerへRPCを行います。

DCCLTCONNECTRETRY=コネクション確立の再試行回数

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

サーバとの回線が途絶えている,サーバマシンの電源がオフであるなどの理由で,コネクション確立要求がタイムアウトした場合に,再試行する回数を指定します。0を指定した場合,またはこの指定を省略した場合は,再試行しません。指定に誤りがあった場合,0が仮定されます。この定義は,ユーザ認証時(DCCLTAUTHENT=Yを指定し,かつdc_clt_cltin_s関数のflags引数にDCNOFLAGSを指定して実行した場合)に有効です。

DCSCDDIRECT=Y|N 〜《N》

TP1/Serverのネームサービスにサービス情報を問い合わせないで,直接スケジュールサービスに問い合わせる機能(ネームサービスを使用しないRPC)を使用するかどうかを指定します。

Y:ネームサービスを使用しないRPCを使用します。

N:ネームサービスを使用しないRPCを使用しません。

クライアント環境定義DCSCDPORTにスケジュールサービスのポート番号を指定したときは,そのポート番号を使用して問い合わせを行います。DCSCDPORTが定義されていないときは,TP1/Server側からスケジュールサービスのポート番号を取得したあと,問い合わせを行います。

この機能を使用した場合はソケット受信型のSPPを呼ぶことはできません。

また,クライアント環境定義DCCACHE,DCCLTCACHETIM,DCCLTLOADBALANCEの定義は無視されます。なお,クライアント環境定義DCCLTSERVICEGROUPLISTが設定されているときは,DCSCDDIRECTの定義は無視されます。

DCSCDPORT=スケジュールサービスのポート番号

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

スケジュールサービスのポート番号を指定します。クライアント環境定義DCSCDMULTI=YおよびDCSCDDIRECT=Yの場合は,マルチスケジューラデーモンのポート番号を指定します。マスタスケジューラデーモンとマルチスケジューラデーモンのベースとなるポート番号が連続している場合は,マスタスケジューラデーモン(=スケジュールサービス)のポート番号も指定できます。通信相手のTP1/Serverは,この定義で指定したポート番号で,スケジュールサービスまたはマルチスケジューラデーモンを起動する必要があります。TP1/Serverのスケジュールサービスまたはマルチスケジューラデーモンの指定については,マニュアル「OpenTP1 システム定義」を参照してください。

なお,窓口となるTP1/Serverを複数指定した場合,指定したすべてのホストで,この定義に指定したポート番号でスケジュールサービスまたはマルチスケジューラデーモンを起動する必要があります。ホスト切り替え機能によってホストが切り替わったとき,指定したポート番号で起動していないと,再びホストが切り替わります。

この定義は,クライアント環境定義DCSCDDIRECT=Yのときだけ有効です。

クライアント環境定義DCSCDMULTI=YおよびDCSCDDIRECT=Yの場合は,クライアント環境定義DCSCDMULTICOUNTもあわせて参照してください。

この指定を省略した場合は,ネームサービスに,スケジュールサービスまたはマルチスケジューラデーモンの,ポート番号を問い合わせます。

DCCLTDATACOMP=Y|N 〜《N》

データ圧縮機能を使用するかどうかを指定します。

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

Y:データ圧縮機能を使用します。

N:データ圧縮機能を使用しません。

DCEXTENDFUNCTION=RPCサービスの機能拡張レベル

〜〈符号なし16進整数〉((00000000〜00000001))《00000000》

RPCサービスの機能の拡張レベルを,次の中から指定します。0の数を省略しないで指定してください。なお,指定できない値を指定した場合でも,エラーとならないで誤動作してしまうことがあります。

00000000

RPCサービスの機能を拡張しません。

00000001

サービス要求実行時のSPPが異常終了した場合に,dc_rpc_call_s関数,またはdc_rpc_call_to_s関数で,エラーを切り分けられるエラーコード(DCRPCER_SERVICE_TERMINATED)を返します。この指定をしなかった場合は,DCRPCER_TIMED_OUT(無限に待ち続ける指定の場合DCRPCER_SERVICE_NOT_UP)を返します。

なお,常設コネクション確立中,またはトランザクションの範囲内でサービス要求(dc_rpc_call_s関数)を実行した場合は,この定義は無効となります。常設コネクション確立中,またはトランザクションの範囲内では,ユーザサービスデフォルト定義のrpc_extend_functionオペランドの指定が有効となります。

DCCLTINQUIRETIME=常設コネクション問い合わせ間隔最大時間

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

CUPがサーバに対して問い合わせをしてから,次の問い合わせをするまでの間隔の最大時間を指定します。常設コネクション問い合わせ間隔最大時間はCUP実行プロセスまたはrapサーバで監視するタイマです。指定時間を超えても問い合わせがない場合,CUP実行プロセス側またはrapサーバ側で強制的に常設コネクションを解放します。

なお,DCCM3の論理端末と常設コネクションを確立している場合,この定義は無効となります。DCCM3では,この定義と同様の監視を端末放置監視時間値で行っています。端末放置監視時間値はデータコミュニケーション定義のTERMINAL文のLEFTLIMIT句で指定します。

また,トランザクション内で常設コネクション問い合わせ間隔最大時間に達したことを検知した場合は,該当するトランザクションを強制的にロールバックします。

この定義に0を指定した場合は,CUPからの問い合わせを無限に待ちます。この指定を省略した場合,クライアントサービス定義のclt_inquire_timeオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のrap_inquire_timeオペランドの指定に従います。

この定義で指定する問い合わせ間隔最大時間は,常設コネクションを確立した時に,dc_clt_connect_s関数からdc_clt_disconnect_s関数までの問い合わせ間隔を監視します。これに対して,トランザクション問い合わせ間隔最大時間(DCCLTTRWATTM)は常設コネクションを確立しないでdc_trn_begin_s関数を呼び出した時に,dc_trn_unchained_commit_s関数までの問い合わせ間隔を監視します。

DCCLTPORT=クライアント拡張サービスのポート番号

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

クライアント拡張サービスのポート番号を指定します。通信相手のTP1/Serverは,この定義で指定したポート番号でクライアント拡張サービスを起動する必要があります。クライアント拡張サービスのポート番号は,クライアントサービス定義のclt_portオペランドで指定してください。

この指定を省略した場合,クライアント拡張サービスのポート番号をネームサービスに問い合わせます。

DCCLTDCCMHOST=DCCM3論理端末のホスト名

DCCM3の論理端末に対して常設コネクションの確立要求をする場合に,確立要求先の論理端末のホスト名を指定します。この場合,dc_clt_connect_s関数の引数 flagsにはDCCLT_DCCM3を指定する必要があります。

形式は次のとおりです。

ホスト名:〔ポート番号〕〔,ホスト名〔:ポート番号〕,…〕
  • ホスト名 〜〈文字列〉

  • ポート番号 〜〈符号なし整数〉((1〜65535))

ホスト名として指定できる長さは,63文字までです。クライアント環境定義DCCLTOPTIONに00000008を指定した場合,255文字までです。なお,このオペランドに指定できる長さは,1023文字までです。

区切り文字','の後ろ以外は空白文字(スペースまたはタブ)を入れないでください。

ホスト名として,10進ドット記法のIPアドレスを指定することもできます。

ポート番号省略時は,クライアント環境定義DCCLTDCCMPORTに指定されているDCCM3論理端末のポート番号が仮定されます。

複数のDCCM3論理端末を指定した場合,その中から一つをランダムに選択し,接続を試みます。接続を試みた先のDCCM3論理端末との接続に失敗したとき,この接続先を除いて再びランダムに選択し,接続を試みます。これを繰り返し,すべてのDCCM3論理端末との接続に失敗した場合,dc_clt_connect_s関数はエラーを返します。

常設コネクションを確立してDCCM3の論理端末と通信する場合,クライアント環境定義DCCLTSERVICEGROUPLISTに指定した値は無視されます。また,データ圧縮機能は使用できません。

DCCLTDCCMPORT=DCCM3論理端末のポート番号

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

CUPがDCCM3の論理端末に対して常設コネクションの接続要求をする場合に使用するポート番号を指定します。

DCCLTXATMI=Y|N 〜《N》

XATMIインタフェースを使用して通信をするかどうかを指定します。指定に誤りがあった場合,Nが仮定されます。

Y:XATMIインタフェースを使用します。

N:XATMIインタフェースを使用しません。

DCWATCHTIMINHERIT=Y|N 〜《N》

トランザクション制御,およびコネクション制御を行う場合,クライアント拡張サービスにCUPの最大応答待ち時間を引き継ぐかどうかを指定します。

Y:クライアント拡張サービスにCUPの最大応答待ち時間を引き継ぎます。

N:クライアント拡張サービスにCUPの最大応答待ち時間を引き継ぎません。

この定義にYを指定する場合は,クライアント環境定義DCCLTDELAYを参照してください。

DCCLTDELAY=最大通信遅延時間

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

CUPとクライアント拡張サービスの間の通信オーバヘッドを考慮し,サーバ側の応答監視をクライアント側よりも早く終わらせる場合に指定します。この定義を指定すると,サーバ側の監視を指定した時間分だけ早く終了させ,クライアント側の監視時間のタイムアウトによるメッセージのすれ違いを防ぎます。

この定義は,クライアント環境定義DCWATCHTIMINHERIT=Yの場合だけ有効です。クライアント環境定義DCWATCHTIM=0の場合は,DCCLTDELAYの定義は無視されます。DCWATCHTIMに指定した値からDCCLTDELAYに指定した値を引いたときに,0または負の値になった場合は,DCCLTDELAYの定義は無視され,1が仮定されます。

クライアント環境定義DCWATCHTIMに指定した値は,dc_rpc_set_watch_time_s関数を呼び出すことで動的に変更できます。動的に変更された場合は,DCWATCHTIMに指定した値の代わりに,dc_rpc_set_watch_time_s関数で動的に変更した値が算出されます。

DCCLTCUPSNDHOST=CUPの送信元ホスト 〜〈文字列〉

コネクション確立要求時の,送信元ホストを指定します。

ホスト名として指定できる長さは,63文字までです。クライアント環境定義DCCLTOPTIONに00000008を指定した場合,255文字までです。

また,ホスト名として,10進ドット記法のIPアドレスを指定することもできます。

ホスト名としてlocalhostを指定した場合,または127で始まるIPアドレスを指定した場合,dc_clt_cltin_s関数はDCCLTER_FATALでエラーリターンします。

CUPを実行するマシン上に存在しないホストを指定した場合,通信関数は,DCCLTER_NET_DOWN,またはDCRPCER_NET_DOWNでエラーリターンします。

この定義を省略すると,送信元ホストは任意に割り当てられます。

DCCLTCUPRCVPORT=CUPの受信で使用するポート番号

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

サーバからのメッセージ受信を行うCUPのポート番号を指定します。

この定義で指定したポート番号は,次の機能を使用する場合に有効となります。

  • 通常RPC機能(受信時)

  • トランザクション制御機能

  • 常設コネクション確立機能

この定義を省略すると,システムが任意に割り当てたポート番号を使用します。

同一マシン内で,複数のプロセス,または複数のスレッドを同時に実行する場合は,それぞれ異なるポート番号を指定してください。

指定できるポート番号でも,OSまたはほかのプログラムで使用するポート番号は指定しないでください。指定した場合,応答データを正しく受信できないことがあります。なお,OSが使用するポート番号は,OSごとに異なります。OSのマニュアルなどを参照してください。

DCCLTRAPHOST=rapリスナー,またはDCCM3の論理端末

TP1/Serverのrapリスナーのホスト名およびポート番号,またはDCCM3の論理端末のホスト名およびポート番号を指定します。

形式は次のとおりです。

ホスト名:ポート番号〔,ホスト名:ポート番号,…〕
  • ホスト名 〜〈文字列〉

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

ホスト名として指定できる長さは,63文字までです。クライアント環境定義DCCLTOPTIONに00000008を指定した場合,255文字までです。なお,このオペランドに指定できる長さは,1023文字までです。

区切り文字','の後ろ以外は空白文字(スペースまたはタブ)を入れないでください。

dc_clt_connect_s関数のflagsにDCNOFLAGSを指定して発行した場合,この定義が定義されているとTP1/Serverのrapリスナー,またはDCCM3の論理端末に対して常設コネクションの確立を要求します。定義されていない場合は,TP1/Serverのクライアント拡張サービスに対して常設コネクションの確立を要求します。

DCCM3の論理端末に対して常設コネクションの確立要求をする場合,データ圧縮機能は使用できません。

また,CUPとrapリスナー,またはDCCM3の論理端末の間にファイアウォールが存在する場合は,DCCLTRAPHOSTに指定するホスト名およびポート番号はファイアウォールのホスト名およびポート番号になるので注意してください。

ホスト名として,10進ドット記法のIPアドレスを指定することもできます。

rapリスナーのホスト名およびポート番号,またはDCCM3の論理端末のホスト名およびポート番号をそれぞれ複数指定した場合,指定したホスト名およびポート番号の中から一つをランダムに選択し,接続を試みます。接続を試みた先のホストとの接続に失敗したとき,この接続先を除いて再びランダムに選択し,接続を試みます。これを繰り返し,すべてのホストとの接続に失敗した場合,dc_clt_connect_s関数はエラーを返します。

常設コネクションを確立してrapリスナーまたはDCCM3の論理端末と通信する場合,クライアント環境定義DCCLTSERVICEGROUPLISTに指定した値は無視されます。

dc_clt_connect_s関数のflagsおよびクライアント環境定義と常設コネクション確立要求先との関係は次のとおりです。

引数

flags

クライアント環境定義

常設コネクション確立要求先

DCCLTDCCMHOST

DCCLTRAPHOST

DCNOFLAGS

rapサーバ,またはDCCM3の論理端末※1

CUP実行プロセス

rapサーバ,またはDCCM3の論理端末※1

CUP実行プロセス

DCCLT_DCCM3

DCCM3の論理端末※2

DCCM3の論理端末※2

エラーリターン

エラーリターン

(凡例)

○:指定あり

−:指定なし

注※1

DCCLTRAPHOSTに指定されたDCCM3の論理端末に対して常設コネクションの確立を要求します。

注※2

DCCLTDCCMHOSTに指定されたDCCM3の論理端末に対して常設コネクションの確立を要求します。

DCCLTRAPAUTOCONNECT=Y|N 〜《N》

CUPとrapサーバまたはDCCM3論理端末との間の常設コネクションを自動的に確立させるかどうかを指定します。

Y:常設コネクションを自動的に確立させます。

N:常設コネクションを自動的に確立させません。

この定義にYを指定した場合,次の関数実行時に,常設コネクション未確立の場合は,自動的に常設コネクションが確立されます。常設コネクション確立要求先は,クライアント環境定義DCCLTRAPHOSTに指定したのrapリスナーまたはDCCM3論理端末です。

  1. dc_rpc_call_s関数

  2. dc_trn_begin_s関数

ただし,DCCM3論理端末に対して2.の関数を実行した場合,エラーが返ります。

この定義にYを指定した場合,dc_clt_connect_s関数を実行する必要はありません。また,dc_rpc_close_s関数実行時,自動的に常設コネクションが解放されるので,dc_clt_disconnect_s関数も実行する必要はありません。

DCCLTTRSTATISITEM=統計情報項目〔,統計情報項目〕…

トランザクションブランチの統計情報を取得する項目を,次の文字列で指定します。CUPからトランザクションを開始する場合だけ有効です。

nothing

統計情報を取得しません。

base

基本情報として,次の情報を取得します。

  • トランザクションブランチの識別子

  • トランザクションブランチの決着結果

  • トランザクションブランチの実行プロセス種別

  • トランザクションブランチの実行サーバ名

  • トランザクションブランチの実行サービス名

executiontime

基本情報とトランザクションブランチの実行時間情報を取得します。

cputime

基本情報とトランザクションブランチのCPU時間情報を取得します。

nothingの指定は,一つしかできません。また,nothingとほかの統計情報項目を同時に指定した場合,nothingの指定は無効になります。

トランザクションに関する統計情報を取得する場合は,次のどちらかを指定してください。

  • トランザクションサービス定義でtrn_tran_statistics=Yと指定

  • trnsticsコマンドで-sオプションを指定

この定義を省略した場合は,クライアントサービス定義のtrn_statistics_itemオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のtrn_statistics_itemオペランドの指定に従います。

DCCLTTROPTIITEM=トランザクション最適化項目〔,トランザクション最適化項目〕…

複数のユーザサーバで構成されるグローバルトランザクションの性能を向上させるための最適化項目を,次の文字列で指定します。CUPからトランザクションを開始する場合だけ有効です。

base

同期点取得処理全体(プリペア処理,コミット処理,およびロールバック処理)を最適化します。OpenTP1のトランザクション制御は2相コミット方式で実行しているため,二つのトランザクションブランチ間のコミット制御には,4回のプロセス間通信が必要となります。

次の条件をすべて満たす場合,親トランザクションブランチが子トランザクションブランチのコミット処理を代わりに実行することで,コミット制御で必要な4回のプロセス間通信を削減します。

・親トランザクションブランチと,子トランザクションブランチが同じOpenTP1下にあること。

・親トランザクションブランチが,子トランザクションブランチを同期応答型RPCで呼び出していること。

・子トランザクションブランチでアクセスしたリソースマネジャのXAインタフェース用オブジェクトが,親トランザクションブランチにもリンケージされていること。

asyncprepare

baseの指定条件を満たしていないため同期点取得処理全体の最適化ができない場合に,プリペア処理を最適化します。

次の条件をすべて満たす場合,親トランザクションブランチから発行されたRPCによって子トランザクションブランチがサービス要求を実行したときに,RPCのリターン前にプリペア処理を実行することで,2回のプロセス間通信を削減します。

・baseを指定した最適化ができないこと。

・親トランザクションブランチが,子トランザクションブランチを同期応答型RPCで呼び出していること。

ただし,この最適化を実行した場合,親トランザクションブランチが発行した同期応答型RPCの応答時間が遅くなります。また,子トランザクションブランチは,プリペア処理からコミット処理までの間隔(親トランザクションブランチからの指示がないとトランザクションを決着できない状態)が大きくなります。そのため,親トランザクションブランチのOpenTP1がシステムダウンし,トランザクションブランチ間の連絡ができなくなると,ジャーナルファイルのスワップやチェックポイントダンプファイルの有効化が遅れ,子トランザクションブランチのOpenTP1もシステムダウンする場合があります。

トランザクション最適化項目は,重複して指定できます。ただし,優先順位は次のようになります(1>2)。

1:base

2:asyncprepare

この指定を省略した場合は,クライアントサービス定義のtrn_optimum_itemオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のtrn_optimum_itemオペランドの指定に従います。

DCCLTTRWATCHTIME=トランザクション同期点処理時の最大通信待ち時間

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

トランザクションの同期点処理で,トランザクションブランチ間で行う通信(プリペア,コミット,ロールバック指示,応答など)の受信待ち時間の最大値を指定します。CUPからトランザクションを開始する場合だけ有効です。

指定時間を過ぎても指示または応答がない場合は,該当するトランザクションブランチが2相コミットの1相目であればロールバックさせ,1相目完了後であればトランザクションサービスのシステムプロセスでトランザクション決着処理を再試行します。

この定義を省略した場合は,クライアントサービス定義のtrn_watch_timeオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のtrn_watch_timeオペランドの指定に従います。

DCCLTTRRBINFO=no|self|remote|all

トランザクションブランチがロールバックした場合に,ロールバック要因に関する情報をログに取得するかどうかを指定します。CUPからトランザクションを開始する場合だけ有効です。

no

ロールバック情報を取得しません。

self

ロールバック要因が発生したトランザクションブランチでだけ,ログにロールバック情報を取得します。

remote

selfに加え,他ノードのトランザクションブランチからロールバック要求されたトランザクションブランチでも,ログにロールバック情報を取得します。

all

remoteに加え,自ノードのトランザクションブランチからロールバック要求されたトランザクションブランチでも,ログにロールバック情報を取得します。

この指定を省略した場合は,クライアントサービス定義のtrn_rollback_information_putオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のtrn_rollback_information_putオペランドの指定に従います。

DCCLTTRLIMITTIME=トランザクションブランチ最大実行可能時間

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

トランザクションブランチの最大実行可能時間を指定します。CUPからトランザクションを開始する場合だけ有効です。

トランザクションブランチを開始してから同期点処理が終了するまでの時間がこのオペランドの指定時間を超えないようにdc_rpc_call_s関数および同期点処理内で行う通信のタイムアウト時間を次のように自動設定します。

  • dc_rpc_call_s関数のタイムアウト時間

    「K≧このオペランドの指定時間」の場合は,要求処理を実行しないで,タイムアウトでエラーリターンします。

    「K<このオペランドの指定時間」でかつ「(このオペランドの指定時間−K)≧W」の場合は,Wをタイムアウト時間とします。

    「K<このオペランドの指定時間」でかつ「(このオペランドの指定時間−K)<W」の場合は,(このオペランドの指定時間−K)をタイムアウト時間とします。

    K:現時刻−トランザクションブランチ開始時刻

    W:DCWATCHTIMオペランド指定時間

  • 同期点処理内で行う通信のタイムアウト時間

    「K≧このオペランドの指定時間」の場合は,タイムアウト時間を1秒とします。

    「K<このオペランドの指定時間」でかつ「(このオペランドの指定時間−K)≧W」の場合は,Wをタイムアウト時間とします。

    「K<このオペランドの指定時間」でかつ「(このオペランドの指定時間−K)<W」の場合は,(このオペランドの指定時間−K)をタイムアウト時間とします。

    K:現時刻−トランザクションブランチ開始時刻

    W:DCCLTTRWATCHTIMEオペランド指定時間(DCCLTTRWATCHTIMEオペランドを省略した場合はDCWATCHTIMオペランド指定時間)

上記の受信待ち以外の処理で時間が掛かった場合は,このオペランドの指定時間以内にトランザクションブランチが終了しないことがあります。

同期点処理開始前にこのオペランドの指定時間が経過した場合,そのトランザクションはロールバックされます。

0を指定した場合は,時間監視を行いません。

この定義を省略した場合は,クライアントサービス定義のtrn_limit_timeオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のtrn_limit_timeオペランドの指定に従います。

DCCLTTRRBRCV=Y|N

RPC先トランザクションブランチにロールバック指示を送信したあと,ロールバック完了通知を受信するかどうかを指定します。CUPからトランザクションを開始する場合だけ有効です。

Y:ロールバック完了通知を受信します。

N:ロールバック完了通知を受信しません。

Nを指定した場合,RPC先トランザクションブランチからのロールバック完了通知を受信しないで(RPC先トランザクションブランチのロールバック処理の完了を待たずに)自トランザクションブランチを終了します。

この定義を省略した場合は,クライアントサービス定義のtrn_rollback_response_receiveオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のtrn_rollback_response_receiveオペランドの指定に従います。

DCCLTTRRECOVERYTYPE=type1|type2|type3

UAP障害時のトランザクション同期点処理方式を指定します。CUPからトランザクションを開始する場合だけ有効です。

RPCがタイムアウトし,RPC発行先プロセスのアドレスが未解決の場合やトランザクション実行中のUAPがダウンした場合に,トランザクションブランチ間の連絡がスムーズに行えず,トランザクションの決着に時間が掛かることがあります。

次の障害が発生した場合のトランザクション同期点処理方式を三つの方式から選択します。

type1

障害1:RPCがタイムアウトした場合

この場合,RPC発行元トランザクションブランチは,サービス要求がどのプロセスで実行されているかがわからないため,RPC発行先トランザクションブランチにトランザクション同期点メッセージを送信できず,RPC発行元トランザクションブランチ,RPC発行先トランザクションブランチ共トランザクション同期点メッセージ待ちとなり,トランザクションの決着に時間が掛かります。

type2

障害2:RPC発行元UAPがRPCの応答受信前にダウンした場合

この場合,RPC発行元トランザクションブランチは,サービス要求がどのプロセスで実行されているかがわからないため,RPC発行先トランザクションブランチにトランザクション同期点メッセージを送信できず,RPC発行先トランザクションブランチはトランザクション同期点メッセージ待ちとなり,トランザクションの決着に時間が掛かります。

type3

障害3:RPC発行先UAPからの応答受信後にRPC発行元UAPとRPC発行先UAPがほぼ同時にダウンした場合

この場合,それぞれのトランザクションブランチを引き継いだトランザクション回復プロセスは,相手UAPプロセスのダウンを知らないため,すでに存在しないUAPプロセスにトランザクション同期点メッセージを送信してしまい,トランザクションの決着に時間が掛かることがあります。

次の場合,このオペランドにtype2またはtype3を指定しても,トランザクションの決着に時間が掛かることがあります。

  • RPC実行中に,RPC発行先UAPの状態が変更となり(負荷増加,UAP終了および閉塞など),ほかのノードの同じUAPにサービス要求が再転送された場合

  • 相手先のOpenTP1がこのオプションをサポートしていないバージョンの場合

  • 相手先トランザクションブランチがトランザクション同期点メッセージ受信処理以外で時間が掛かっている場合

この定義を省略した場合は,クライアントサービス定義のtrn_partial_recovery_typeオペランドの指定に従います。また,接続先がrapサーバの場合,rapリスナーサービス定義のtrn_partial_recovery_typeオペランドの指定に従います。

DCWATCHTIMRPCINHERIT=Y|N 〜《N》

CUPの最大応答待ち時間を,サーバ側に引き継ぐかどうかを指定します。CUPの最大応答待ち時間を引き継ぐと,CUPがタイムアウトしているのにTP1/Server側でサービスを実行することを防止できます。

Y:サーバ側にCUPの最大応答待ち時間を引き継ぎます。

N:サーバ側にCUPの最大応答待ち時間を引き継ぎません。

DCSYSWATCHTIM=OpenTP1制御の最大応答待ち時間

〜〈符号なし整数〉((0〜65535))《最大応答待ち時間》(単位:秒)

OpenTP1を制御する場合に,要求を送ってから応答が返るまでの待ち時間の最大値を指定します。指定時間を過ぎても応答が返らない場合は,CUPへエラーリターンします。

0を指定した場合は,応答が返るまで無限に待ち続けます。この定義を省略した場合は,クライアント環境定義DCWATCHTIMの指定に従います。

なお,クライアント環境定義DCCLTOPTIONに00000002を指定し,かつ次のどちらかに該当する場合,この定義は無効となります。

  • dc_rpc_call_s関数,またはdc_rpc_call_to_s関数実行時。

  • クライアント環境定義DCCLTRAPAUTOCONNECT=Y,かつdc_trn_begin_s関数実行時。

また,OpenTP1制御の最大応答待ち時間は,動的に変更できません。

DCCLTAUTHENT=Y|N 〜《Y》

dc_clt_cltin_s関数実行時のユーザ認証を行うかどうかを指定します。

Y:ユーザ認証を行います。

N:ユーザ認証を抑止します。

DCCLTCONNECTINF=端末識別情報

端末識別情報を指定します。16進数で指定する場合は,64バイト以内(先頭に0xを付け,128文字まで(先頭0xを含まない))で指定します。文字列で指定する場合は,64文字以内(NULL文字を含まない)で指定します。

常設コネクションを使用してDCCM3論理端末と通信する場合は,端末識別情報としてDCCM3論理端末の論理端末名称をEBCDIKコードで指定します。ただし,DCCM3側では先頭8バイト目までに指定した値だけが有効になります(9バイト目以降に指定された値は無視されます)。

この定義に指定した端末識別情報は,dc_rpc_open_s関数実行時に参照され,DCCM3論理端末に通知されます。

この定義を省略した場合は,DCCM3論理端末に端末識別情報は通知しません。

ただし,dc_clt_set_connect_inf_s関数を実行すれば,この関数に指定した端末識別情報が,dc_clt_connect_s関数実行時,DCCM3論理端末に通知されます。

この定義は,クライアント環境定義DCCLTRAPHOSTにDCCM3論理端末のホスト名およびポート番号を指定して,dc_clt_connect_s関数(引数flagsにDCNOFLAGSを指定)を実行した場合に有効となります。

DCSCDMULTI=Y|N 〜《N》

マルチスケジューラ機能を使用するかどうかを指定します。

Y:マルチスケジューラ機能を使用します。

N:マルチスケジューラ機能を使用しません。

マルチスケジューラ機能を使用すると,複数起動されたマルチスケジューラデーモンの中から,一つをランダムに選択することで,スケジューリングの負荷を軽減できます。

この定義にYを指定した場合,クライアント環境定義DCSCDDIRECT,DCSCDPORT,DCSCDMULTICOUNTもあわせて参照してください。また,この定義は,dc_rpc_call_to_s関数実行時は無効です。

DCSCDMULTICOUNT=マルチスケジューラデーモンのプロセス数

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

スケジューラデーモンのプロセス数を指定します。指定するプロセス数は,クライアント環境定義DCSCDPORTに指定するポート番号の内容によって,次のとおり異なります。

DCSCDPORT指定値

DCSCDMULTICOUNT指定値

マルチスケジューラデーモンのベースとなるポート番号

マルチスケジューラデーモンのプロセス数と同値か,それ以下の値を指定する。

マルチスケジューラデーモンの任意のポート番号

「マルチスケジューラデーモンのポート番号の最大 - DCSCDPORTに指定したポート番号 + 1」の値か,それ以下の値を指定する。

マスタスケジューラデーモンのポート番号

マスタスケジューラデーモンとマルチスケジューラデーモンのベースとなるポート番号が連続している場合

「マルチスケジューラデーモンのプロセス数 + 1」の値か,それ以下の値を指定する。

上記以外

1を指定するか,または指定を省略する(マルチスケジューラデーモンは使用できない)。

この定義は,クライアント環境定義DCSCDMULTI=YおよびDCSCDDIRECT=Yで,かつDCSCDPORTを指定した場合に有効です。なお,この場合,ポート番号は,次に示す範囲のポート番号からランダムに選択します。

  • 下限値:クライアント環境定義DCSCDPORTに指定したポート番号の値

  • 上限値:下限値 + クライアント環境定義DCSCDMULTICOUNTに指定したプロセス数 - 1

DCHOSTSELECT=Y|N 〜《N》

窓口となるTP1/Serverをランダムに選択するかどうかを指定します。この定義は,窓口となるTP1/Serverを複数指定した場合だけ有効です。

Y:窓口となるTP1/Serverをランダムに選択します。

N:窓口となるTP1/Serverをランダムに選択しません。

Yを指定した場合,ユーザ認証時に指定したTP1/Serverから,窓口となるTP1/Serverをランダムに選択します。

窓口となるTP1/Serverのネームサービスへ問い合わせ中に障害を検出した場合,障害を検出したTP1/Serverを除いて,再び窓口となるTP1/Serverをランダムに選択し,切り替えを試みます。

Nを指定した場合,ユーザ認証時に指定したTP1/Serverの中から,またはクライアント環境定義DCHOSTに指定したTP1/Serverの中から,窓口となるTP1/Serverを先頭から順番に選択します。窓口となるTP1/Serverのネームサービスへ問い合わせ中に障害を検出した場合,指定された次のTP1/Serverに切り替えを試みます。

クライアント環境定義DCSCDDIRECTにYを指定している場合,該当するポート番号への送信が失敗した時点で,窓口となるTP1/Serverの切り替えが発生します。

DCSCDLOADPRIORITY=Y|N 〜《N》

サービス要求を受け付けた窓口となるTP1/Serverを優先して負荷分散するかどうか指定します。

Y:サービス要求を受け付けた窓口となるTP1/Serverを優先して負荷分散します。

N:スケジュールサービス定義のscd_this_node_firstオペランドの指定に従います。

この定義は,ネームサービスを使用しないRPCを行う場合(クライアント環境定義DCSCDDIRECTにYを指定)だけ,有効です。

DCCLTONLYTHISNODE=Y|N 〜《N》

dc_rpc_call_to_s関数発行時,指定したノードでサービスを実行するかどうかを指定します。

Y:指定したノードでサービスを実行します。指定したノード以外でサービスが実行されることはありません。

N:指定したノードを優先してサービスを実行します。サービスの状態によっては,他ノードへ転送されることもあります。

DCCLTNOSERVER=Y|N 〜《N》

TP1/Serverとは通信することがない環境かどうかを指定します。

Y:TP1/Serverとは通信しません。DCCM3論理端末だけと通信する場合に指定します。

N:TP1/Serverと通信します。

Yを指定した場合でも,dc_clt_cltin_s関数は必ず発行してください。引数lognameには,NULL以外の任意の値を指定してください。NULLを指定した場合,dc_clt_cltin_s関数はDCCLTER_INVALID_ARGSでエラーリターンします。引数passwdには,任意の値を指定してください。NULLを指定しても問題ありません。

DCHOSTCHANGE=Y|N 〜《Y》

dc_rpc_call_s関数実行時,スケジュールサービス開始処理中,およびスケジュールサービス終了処理中に,窓口となるTP1/Serverからエラー応答を受信した場合,窓口となるTP1/ServerをほかのTP1/Serverに切り替えるかどうかを指定します。

Y:窓口となるTP1/Serverを切り替えます。

N:窓口となるTP1/Serverを切り替えません。

指定に誤りがあった場合,Yが指定されていると仮定されます。

Nを指定した場合,dc_rpc_call_s関数は即時にエラーリターンします。スケジュールサービス開始処理中のときは,DCRPCER_OLTF_INITIALIZINGでエラーリターンします。スケジュールサービス終了処理中のときは,DCRPCER_OLTF_NOT_UPでエラーリターンします。

この定義は,dc_clt_cltin_s関数の引数target_host,またはクライアント環境定義DCHOSTに複数の窓口となるTP1/Serverを指定した場合に有効です。なお,常設コネクション確立中,またはトランザクションの範囲内でdc_rpc_call_s関数を実行した場合は,この定義は無効となります。

DCCLTOPTION=クライアントの機能拡張オプション

〜〈符号なし16進整数〉 ((00000000〜00000008))《00000000》

クライアントの機能拡張オプションを指定します。複数のオプションを指定する場合,それぞれの指定値の論理和を指定してください。なお,指定できない値を指定した場合でも,エラーとならないで誤動作してしまうことがあります。

00000000

このオプションを指定した場合,機能を拡張しません。

00000002

このオプションを指定した場合,通信系関数の受信処理では,クライアントの最大応答待ち時間(クライアント環境定義DCSYSWATCHTIM指定値,またはDCWATCHTIM指定値)を適用しますが,この時間を受信処理が発生するつど適用するのではなく,通信系関数の応答待ち時間として適用します。

なお,次のどちらかに該当する場合は,DCSYSWATCHTIM指定値は無効となり,DCWATCHTIM指定値を通信系関数の応答待ち時間として適用します。

  • dc_rpc_call_s関数,またはdc_rpc_call_to_s関数実行時。

  • クライアント環境定義DCCLTRAPAUTOCONNECT=Y,かつdc_trn_begin_s関数実行時。

また,応答待ち時間の端数が生じた場合など,処理が間延びする場合もありますので,ご注意ください。

00000008

このオプションを指定した場合,TP1/Clientで扱うホスト名長を63文字から255文字に拡張します。

指定に誤りがあった場合,エラーログにKFCA02401-Eメッセージを出力し,次の関数のどれかがDCCLTER_FATALでエラーリターンします。

  • dc_clt_cltin_s関数

  • dc_clt_accept_notification_s関数

  • dc_clt_cancel_notification_s関数

  • dc_clt_open_notification_s関数

DCCLTNAMEXTEND=0|1 〜《0》

マルチノードサーバで運用している場合に,クライアントで管理するサービス情報の取得数を拡張します。

0:最大128個のサービス情報を取得します。

1:最大512個のサービス情報を取得します。

サーバが129以上のマルチノードサーバ構成で,窓口となるTP1/Serverでネームサービス定義に「nam_service_extend=1」を指定している場合は,この定義に1を指定してください。

なお,この定義はクライアント環境定義に「DCCLTLOADBALANCE=Y」を指定している場合にだけ有効です。また,クライアント環境定義に「DCSCDDIRECT=Y」を指定している場合は,この定義の指定は無効になります。

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

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

コネクション確立要求を格納するキューの数を指定します。0を指定した場合,または指定を省略した場合,キューの数は次のようになります。

  • AIX 5Lの場合:1024

  • Linuxの場合:128

  • HI-UX/WE2の場合:20

  • HP-UXの場合:20

  • Solarisの場合:5

  • Windowsの場合:5

なお,実際のキューの数は,指定した値より大きくなる場合があります。キューの数の上限値および下限値は,OSによって異なります。OSによってキューの数の上限値および下限値が制限されている場合,指定した値が有効にならないことがあります。

コネクション確立要求を格納するキューについての詳細は,OSのマニュアルまたはTCP/IPのドキュメントを参照してください。

定義の指定に誤りがあった場合は,次の関数のどれかがDCCLTER_FATALでエラーリターンし,エラーログにはKFCA02401-Eメッセージを出力します。

  • dc_clt_cltin_s関数

  • dc_clt_open_notification_s関数

  • dc_clt_accept_notification_s関数

DCTRCPATH=トレースファイル作成ディレクトリ

〜〈文字列〉

エラーログファイル,および各種トレースファイルを作成するディレクトリ名を完全パス名で指定します。

指定したディレクトリがない場合,または指定に誤りがあった場合は,ファイルは出力されません。

このオペランドの指定を省略すると,カレントディレクトリ(CUP実行ディレクトリ)が仮定されます。

DCTRCERR=エラーログのサイズ

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

エラーログのファイルサイズを指定します。エラーログは,dcerr1.trcおよびdcerr2.trcというファイル名で出力されます。出力先は,クライアント環境定義DCTRCPATHに指定したディレクトリ,またはCUPを実行したディレクトリの下です。

0を指定した場合,指定に誤りがあった場合,または出力する情報がない場合,エラーログは出力されません。

なお,1ギガバイトまで指定できますが,使用するマシンのスペックによってはファイルを開けない場合が考えられますので,ご注意ください。使用する環境に応じて,適切な値を指定してください。

DCTRCUAP=UAPトレースのファイルサイズ

〜〈符号なし整数〉((4096〜1073741824))《出力しない》(単位:バイト)

UAPトレースのファイルサイズを指定します。UAPトレースは,dcuap1.trcおよびdcuap2.trcというファイル名で出力されます。出力先は,クライアント環境定義DCTRCPATHに指定したディレクトリ,またはCUPを実行したディレクトリの下です。

指定に誤りがあった場合,指定を省略した場合,または出力する情報がない場合,UAPトレースは出力されません。

なお,1ギガバイトまで指定できますが,UAPトレースを編集出力してファイルに保存する場合,使用するマシンのスペックによってはファイルを開けない場合が考えられますので,ご注意ください。使用する環境に応じて,適切な値を指定してください。

DCTRCSOC=ソケットトレースのファイルサイズ

〜〈符号なし整数〉((4096〜1073741824))《出力しない》(単位:バイト)

ソケットトレースのファイルサイズを指定します。ソケットトレースは,dcsoc1.trcおよびdcsoc2.trcというファイル名で出力されます。出力先は,クライアント環境定義DCTRCPATHに指定したディレクトリ,またはCUPを実行したディレクトリの下です。

指定に誤りがあった場合,指定を省略した場合,または出力する情報がない場合,ソケットトレースは出力されません。

なお,1ギガバイトまで指定できますが,ソケットトレースを編集出力してファイルに保存する場合,使用するマシンのスペックによってはファイルを開けない場合が考えられますので,ご注意ください。使用する環境に応じて,適切な値を指定してください。

DCTRCSOCSIZE=ソケットトレースのデータサイズ

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

ソケットトレースを出力する場合,ソケットトレースのデータサイズを指定します。

指定に誤りがあった場合,または指定を省略した場合,省略値が有効となります。

DCTRCMDL=モジュールトレースのファイルサイズ

〜〈符号なし整数〉((4096〜1073741824))《出力しない》(単位:バイト)

モジュールトレースのファイルサイズを指定します。モジュールトレースは,dcmdl1.trcおよびdcmdl2.trcというファイル名で出力されます。出力先は,クライアント環境定義DCTRCPATHに指定したディレクトリ,またはCUPを実行したディレクトリの下です。

指定に誤りがあった場合,指定を省略した場合,または出力する情報がない場合,モジュールトレースは出力されません。

なお,1ギガバイトまで指定できますが,モジュールトレースを編集出力してファイルに保存する場合,使用するマシンのスペックによってはファイルを開けない場合が考えられますので,ご注意ください。使用する環境に応じて,適切な値を指定してください。

DCCLTPRFINFOSEND=Y|N 〜《N》

性能検証用トレースの識別情報を,TP1/Serverに伝播するかどうかを指定します。

Y:性能検証用トレースの識別情報を,TP1/Serverに伝播します。

N:性能検証用トレースの識別情報を,TP1/Serverに伝播しません。

この定義にYを指定し,かつクライアント環境定義DCTRCUAPにUAPトレースを取得するように指定した場合,UAPトレースに性能検証用トレース情報を出力します。このとき,UAPトレースを取得し,性能検証用トレースの識別情報をTP1/Serverに伝播すると,TP1/Clientの関数の実行に掛かった時間と,TP1/Serverのサービスの実行に掛かった時間との照合ができます。また,障害が発生したときに,処理がどこまで到達しているかを確認できます。

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

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

RPC,またはサーバからの一方通知受信機能を使用したときに送受信できるユーザデータの最大長を指定します。この定義は次に示す関数と引数を指定したときに有効になります。

関数

引数

入力パラメタ長

出力パラメタ長

dc_rpc_call_s関数

in_len

out_len

dc_rpc_call_to_s関数

in_len

out_len

dc_clt_accept_notification_s関数

inf_len

dc_clt_cancel_notification_s関数

inf_len

dc_clt_chained_accept_notification_s関数

inf_len

(凡例)

−:該当しません。

このオペランドに2以上を指定した場合,送受信できるユーザデータの最大長はDCRPC_MAX_MESSAGE_SIZEの値ではなく,このオペランドに指定した値になります(「このオペランドで指定した値×1024×1024」バイトになります)。上記の関数の引数に「このオペランドに指定した値×1024×1024」よりも大きい値を指定した場合,DCRPCER_INVALID_ARGS,またはDCRPCER_MESSAGE_TOO_BIGでエラーリターンします。

引数inf_lenに指定した値よりも大きいユーザデータを受信した場合,一方通知受信機能の関数のdc_clt_accept_notification_s関数,またはdc_clt_chained_accept_notification_s関数はDCCLTER_INF_TOO_BIGでエラーリターンします。

このオペランドに2以上の値を指定し,DCRPC_MAX_MESSAGE_SIZEの値よりも大きいユーザデータを送受信する場合は,次のことに注意してください。

  • サービス要求先となるTP1/Serverのシステム共通定義のrpc_max_message_sizeオペランドにも適切な値を指定する必要があります。また,システム共通定義のall_nodeオペランドに指定したすべてのノードで同じ値を指定してください。

  • システム共通定義のrpc_max_message_sizeオペランドをサポートしていないTP1/Serverにサービス要求した場合の動作は保証できません。次に示すどちらかのRPCを実行した場合,TP1/Serverがダウンすることがあります。

    ・クライアント環境定義DCSCDDIRECTにYを指定し,dc_rpc_call_s関数を発行。

    ・クライアント環境定義DCCLTONLYTHISNODEにNを指定し,dc_rpc_call_to_s関数を発行。

  • サービス関数内で「システム定義rpc_max_message_size×1024×1024」より大きい応答データ長を指定すると,dc_rpc_call_s関数,またはdc_rpc_call_to_s関数はDCRPCER_INVALID_REPLYでエラーリターンします。

  • サービス要求がTP1/Serverのノード間負荷バランス機能によって別のノードへ転送されると,DCRPCER_NET_DOWNでエラーリターンすることがあります。

  • 常設コネクション確立機能,またはトランザクション制御機能を使用する場合,システム共通定義のrpc_max_message_sizeオペランドに適切な値を指定しないと,dc_rpc_call_s関数はDCRPCER_MESSAGE_TOO_BIG,またはDCRPCER_INVALID_ARGSでエラーリターンします。

  • システム共通定義のrpc_max_message_sizeオペランドをサポートしているTP1/Server上にサービスが起動されていなかった場合,dc_rpc_call_s関数,またはdc_rpc_call_to_s関数はDCRPCER_NO_SUCH_SERVICE_GROUP,またはDCRPCER_TRNCHKでエラーリターンします。

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

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

コネクションごとに確保されるTCP/IPの受信バッファのサイズを指定します。この値を相手システムのバッファ長に合わせて変更することで,通信効率の向上が図れます。

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

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

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

なお,このオペランドの値は,OSで使用できるTCP/IPの受信バッファのサイズ以下の値を指定してください。

この定義を省略した場合は,システムによって決められた値を使用します。

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

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

コネクションごとに確保されるTCP/IPの送信バッファのサイズを指定します。この値を相手システムのバッファ長に合わせて変更することで,通信効率の向上が図れます。

このオペランドの値は,OSで使用できるTCP/IPの送信バッファのサイズ以下の値を指定してください。

この定義を省略した場合は,システムによって決められた値を使用します。

DCCLTTCPNODELAY=Y|N 〜《N》

Nagleアルゴリズムを無効にするかどうかを指定します。

Y:Nagleアルゴリズムを無効にします。

N:Nagleアルゴリズムを無効にしません。

この定義にYを指定した場合,INETドメイン通信時の送信効率が低下し,ネットワークの負荷が大きくなることがあります。この定義にYを指定する場合は,クライアント環境定義DCCLTSENDBUFSIZE,クライアント環境定義DCCLTRECVBUFSIZE,ネットワークの帯域など,この機能の必要性を十分に検討してください。

なお,Nagleアルゴリズムについての詳細は,TCP/IPのドキュメントを参照してください。