Hitachi

ノンストップデータベース HiRDB Version 10 UAP開発ガイド


6.6.2 OLTP下のX/Openに従ったAPIを使用したUAPをクライアントとする場合の指定方法

〈この項の構成〉

(1) OpenTP1下のUAPをクライアントとする場合

OpenTP1下のUAPをクライアントとする運用形態の場合,クライアント環境定義はOpenTP1のシステムサービス定義に指定してください。環境変数は,次に示すOpenTP1の定義で指定します。

環境変数を指定するOpenTP1の定義を次の表に示します。なお,指定する場合は,putenv形式又はdcputenv形式で指定してください。

表6‒25 環境変数を指定するOpenTP1の定義

環境変数

システム

環境定義

トランザクション

サービス定義

ユーザサービス

デフォルト定義

ユーザサービス

定義

HiRDB_PDHOST※9

※1

×

×

×

HiRDB_PDNAMEPORT※9

※2

×

×

×

HiRDB_PDTMID※9

※3※4

×

×

×

HiRDB_PDXAMODE※9

※5

×

×

×

PDHOST

×

※1※6

※1※6

※1※6※7

PDNAMEPORT

×

※2※6

※2※6

※2※6※7

PDTMID※9

×

※3※4※6

※3※4※6

※3※4※6※7

PDXAMODE※9※10

×

※5※6

※5※6

※5※6※7

PDTXACANUM※9

×

PDCLTPATH

×

PDUSER

×

×

PDCWAITTIME

×

PDSWAITTIME

×

PDSQLTRACE

×

PDUAPERLOG

×

PDCLTAPNAME

×

※8

※8

PDSWATCHTIME

×

×

PDTRCMODE

×

PDUAPREPLVL

×

PDREPPATH

×

PDTRCPATH

×

PDSQLTRCOPENMODE

×

PDAUTOCONNECT

×

×

×

×

PDXARCVWTIME※9

×

×

×

PDCWAITTIMEWRNPNT

×

PDAUTORECONNECT

×

×

×

×

PDRCCOUNT

×

×

×

×

PDRCINTERVAL

×

×

×

×

PDRCTIMING

×

×

×

×

PDKALVL

×

※11

※11

※11

PDKATIME

×

※11

※11

※11

PDSQLTEXTSIZE

×

PDSQLEXECTIME

×

PDRCTRACE

×

×

×

×

PDSQLTRCFMT

×

上記以外の環境変数

×

×

(凡例)

○:必要です。

△:任意です。必要に応じて指定してください。

×:不要です。

OpenTP1のシステムサービス定義については,マニュアル「OpenTP1 システム定義」を参照してください。

注※1

HiRDB_PDHOSTを指定する場合は,HiRDB_PDHOSTに指定する値をPDHOSTにも設定するため,PDHOSTの指定は不要です。HiRDB_PDHOSTを指定しない場合は,PDHOSTを必ず指定してください。PDHOSTとHiRDB_PDHOSTの両方を指定した場合は,HiRDB_PDHOSTの指定が優先されます。

なお,環境変数グループにPDHOSTを指定した場合は,環境変数グループのPDHOSTの指定が有効になります。

PDHOSTに指定する値の目安については,「PDHOSTにPDFESHOSTのホスト名を指定することによる通信先サーバの固定化(HiRDB/パラレルサーバ限定)」を参照してください。

注※2

HiRDB_PDNAMEPORTを指定する場合は,HiRDB_PDNAMEPORTに指定する値をPDNAMEPORTにも設定するため,PDNAMEPORTの指定は不要です。HiRDB_PDNAMEPORTを指定しない場合は,PDNAMEPORTを必ず指定してください。PDNAMEPORTとHiRDB_PDNAMEPORTの両方を指定した場合は,HiRDB_PDNAMEPORTの指定が優先されます。

なお,環境変数グループにPDNAMEPORTを指定した場合は,環境変数グループのPDNAMEPORTの指定が有効になります。

注※3

複数のOLTPからX/Openに従ったAPIを使用して一つのHiRDBサーバにアクセスする場合,必ず指定してください。

注※4

HiRDB_PDTMIDを指定する場合は,HiRDB_PDTMIDに指定する値をPDTMIDにも設定するため,PDTMIDの指定は不要です。HiRDB_PDTMIDを指定しない場合は,PDTMIDを必ず指定してください。PDTMIDとHiRDB_PDTMIDの両方を指定した場合は,HiRDB_PDTMIDの指定が優先されます。

注※5

HiRDB_PDXAMODEを指定する場合は,HiRDB_PDXAMODEに指定する値をPDXAMODEにも設定するため,PDXAMODEの指定は不要です。PDXAMODEとHiRDB_PDXAMODEの両方を指定した場合は,HiRDB_PDXAMODEの指定が優先されます。

注※6

指定する場合は,それぞれの定義で必ず同じ内容を指定してください。

注※7

HiRDBにアクセスするすべてのユーザのサーバに対し,同じ内容の指定が必要なため,各ユーザサービス定義には指定しないで,ユーザサービスデフォルト定義で指定することをお勧めします。

注※8

各ユーザのサーバを識別できるようにユーザサービスデフォルト定義には指定しないで,各ユーザサービス定義で指定することをお勧めします。

注※9

複数接続機能を使用する場合,これらの環境変数を接続先ごとに登録した環境変数グループに設定しても,環境変数の指定値は無効になります。また,Windows環境の場合,HiRDB.iniファイルに指定しても無効になります。これらの環境変数は,OpenTP1のシステムサービス定義に指定した内容が有効になります。

注※10

trnstringのオプションと,PDXAMODEの設定が合っていない場合,xa関数が-6エラーになるため,注意してください。

注※11

OpenTP1では指定できません(TP1/EEでだけ指定できます)。

(2) TP1/LiNK下のUAPをクライアントとする場合

UAPを実行するためには,TP1/LiNKの定義にクライアント環境定義を指定する必要があります。指定方法を次に示します。

環境変数を指定するTP1/LiNKの定義を次の表に示します。

表6‒26 環境変数を指定するTP1/LiNKの定義

環境変数

[トランザクションサービスの環境変数]欄

[ユーザサーバの環境変数]欄

[グローバル]欄

[ローカル]欄

HiRDB_PDHOST

×

×

×

HiRDB_PDNAMEPORT

×

×

×

HiRDB_PDTMID

×

×

×

HiRDB_PDXAMODE

×

×

×

PDHOST

※2

※2

※2※3

PDNAMEPORT

※2

※2

※2※3

PDTMID※5

※1※2

※1※2

※1※2※3

PDXAMODE※5

※2

※2

※2※3

PDTXACANUM※5

PDCLTPATH

PDUSER

×

PDCWAITTIME

PDSWAITTIME

PDSQLTRACE

PDUAPERLOG

PDCLTAPNAME

※4

※4

PDSWATCHTIME

PDTRCMODE

PDUAPREPLVL

PDREPPATH

PDTRCPATH

PDSQLTRCOPENMODE

PDAUTOCONNECT

×

×

×

PDXARCVWTIME※5

×

×

PDCWAITTIMEWRNPNT

PDSQLTRCFMT

上記以外の環境変数

×

(凡例)

○:必要です。

△:任意です。必要に応じて指定してください。

×:不要です。

TP1/LiNKの定義については,マニュアル「TP1/LiNK 使用の手引」を参照してください。

注※1

複数OLTPからX/Openに従ったAPIを使用して,一つのHiRDBサーバにアクセスする場合は必ず指定してください。

注※2

指定する場合は,それぞれの定義で必ず同じ内容を指定してください。

注※3

HiRDBにアクセスするすべてのユーザのサーバに対し,同じ内容の指定が必要なため,[ユーザサーバの環境変数]欄の[ローカル]欄に指定しないで,[グローバル]欄に指定することをお勧めします。

注※4

各ユーザのサーバを識別できるように[ユーザサーバの環境変数]欄の[グローバル]欄に指定しないで,[ローカル]欄に指定することをお勧めします。

注※5

複数接続機能を使用する場合,これらの環境変数を接続先ごとに登録した環境変数グループに設定しても,環境変数の指定値は無効になります。また,Windows環境の場合,HIRDB.iniファイルに指定しても無効になります。これらの環境変数は,TP1/LiNKの定義に指定した内容が有効になります。

(3) TPBroker for C++下のUAPをクライアントとする場合

TPBroker for C++下のUAPをクライアントとする運用形態の場合,クライアント環境定義はTPBroker for C++のシステム定義に指定してください。TPBroker for C++のシステム定義については,マニュアル「TPBroker ユーザーズガイド」を参照してください。

クライアント環境定義を指定する場合,それぞれ次の形式で指定してください。

環境変数を指定するTPBroker for C++の定義を次の表に示します。

表6‒27 環境変数を指定するTPBroker for C++の定義

環境変数

トランザクション決着プロセス

トランザクション回復プロセス

各UAP

HiRDB_PDHOST※8

※1※4

※1※4

※1※4

HiRDB_PDNAMEPORT※8

※1※5

※1※5

※1※5

HiRDB_PDTMID※8

※1※3※6

※1※3※6

※1※3※6

HiRDB_PDXAMODE※8

※1※7

※1※7

※1※7

PDHOST

※1※4

※1※4

※1※4

PDNAMEPORT

※1※5

※1※5

※1※5

PDTMID※8

※1※3※6

※1※3※6

※1※3※6

PDXAMODE※8

※1※7

※1※7

※1※7

PDTXACANUM※8

PDCLTPATH

PDUSER

×

PDCWAITTIME

PDSWAITTIME

PDSQLTRACE

PDUAPERLOG

PDCLTAPNAME

※2

PDSWATCHTIME

×

×

×

PDTRCMODE

PDUAPREPLVL

PDREPPATH

PDTRCPATH

PDSQLTRCOPENMODE

PDAUTOCONNECT

×

×

×

PDCWAITTIMEWRNPNT

PDAUTORECONNECT

×

×

×

PDRCCOUNT

×

×

×

PDRCINTERVAL

×

×

×

PDRCTIMING

×

×

×

PDKALVL

PDKATIME

PDSQLTEXTSIZE

PDSQLEXECTIME

PDRCTRACE

×

×

×

PDSQLTRCFMT

上記以外の環境変数

×

(凡例)

○:必要です。

△:任意です。必要に応じて指定してください。

×:不要です。

注※1

「トランザクション決着プロセス」,「トランザクション回復プロセス」,及び「各UAP」のそれぞれのクライアント環境定義は必ず同じ内容を指定してください。

注※2

各プロセスを識別できるように,プロセスごとに指定することをお勧めします。

注※3

複数のOLTPからX/Openに従ったAPIを使用して一つのHiRDBシステムをアクセスする場合,必ず指定してください。

注※4

HiRDB_PDHOSTを指定する場合は,HiRDB_PDHOSTに指定した値がPDHOSTに設定されるので,PDHOSTの指定は不要です。HiRDB_PDHOSTを指定しない場合は,PDHOSTを必ず指定してください。PDHOSTとHiRDB_PDHOSTの両方を指定した場合は,HiRDB_PDHOSTの指定を優先します。

なお,環境変数グループにPDHOSTを指定した場合は,環境変数グループのPDHOSTの指定が有効になります。

PDHOSTに指定する値の目安については,「PDHOSTにPDFESHOSTのホスト名を指定することによる通信先サーバの固定化(HiRDB/パラレルサーバ限定)」を参照してください。

注※5

HiRDB_PDNAMEPORTを指定する場合は,HiRDB_PDNAMEPORTに指定した値がPDNAMEPORTに設定されるので,PDNAMEPORTの指定は不要です。HiRDB_PDNAMEPORTを指定しない場合は,PDNAMEPORTを必ず指定してください。PDNAMEPORTとHiRDB_PDNAMEPORTの両方を指定した場合は,HiRDB_PDNAMEPORTの指定を優先します。

なお,環境変数グループにPDNAMEPORTを指定した場合は,環境変数グループのPDNAMEPORTの指定が有効になります。

注※6

HiRDB_PDTMIDを指定する場合は,HiRDB_PDTMIDに指定した値がPDTMIDに設定されるので,PDTMIDの指定は不要です。HiRDB_PDTMIDを指定しない場合は,PDTMIDを必ず指定してください。PDTMIDとHiRDB_PDTMIDの両方を指定した場合は,HiRDB_PDTMIDの指定を優先します。

注※7

HiRDB_PDXAMODEを指定する場合は,HiRDB_PDXAMODEに指定した値がPDXAMODEに設定されるので,PDXAMODEの指定は不要です。PDXAMODEとHiRDB_PDXAMODEの両方を指定した場合は,HiRDB_PDXAMODEの指定を優先します。

注※8

複数接続機能を使用する場合,これらの環境変数を接続先ごとに登録した環境変数グループに設定しても,環境変数の指定値は無効になります。また,Windows環境の場合,HiRDB.iniファイルに指定しても無効になります。これらの環境変数は,TPBroker for C++のシステム定義に指定した内容が有効になります。

(4) TUXEDO下のUAPをクライアントとする場合

TUXEDO下のUAPをクライアントとする運用形態の場合,TUXEDOコンフィギュレーションファイル(UBBCONFIGファイル)のENVFILEパラメタで指定したファイルに,クライアント環境定義を指定してください。

環境変数の指定可否を次の表に示します。

表6‒28 環境変数の指定可否(TUXEDO下のUAPの場合)

環境変数

指定可否

HiRDB_PDHOST

×

HiRDB_PDNAMEPORT

×

HiRDB_PDTMID

×

HiRDB_PDXAMODE

×

PDHOST

※1

PDNAMEPORT

※1

PDTMID※4

※1※3

PDXAMODE※4

※1

PDTXACANUM

×

PDUSER

PDSWAITTIME

PDCLTAPNAME

※2

PDSWATCHTIME

×

PDAUTORECONNECT

×

PDRCCOUNT

×

PDRCINTERVAL

×

PDRCTIMING

×

PDKALVL

×

PDKATIME

×

PDRCTRACE

×

上記以外の環境変数

(凡例)

○:必要です。

△:任意です。必要に応じて指定してください。

×:不要です。

注※1

「トランザクションマネジャサーバ」,「TUXEDOシステムのサーバ」,及び「各UAP」のそれぞれの環境変数は同じ内容にしてください。

PDHOSTに指定する値の目安については,「PDHOSTにPDFESHOSTのホスト名を指定することによる通信先サーバの固定化(HiRDB/パラレルサーバ限定)」を参照してください。

注※2

各プロセスを識別できるように,プロセスごとに指定することをお勧めします。

注※3

複数のOLTPからX/Openに従ったAPIを使用して一つのHiRDBシステムをアクセスする場合,必ず指定してください。

注※4

Windows環境の場合,HIRDB.iniファイルに指定しても無効になります。これらの環境変数は,TUXEDOコンフィギュレーションファイルのENVFILEパラメタで指定したファイルに指定した内容が有効になります。

(5) TP1/EE下のUAPをクライアントとする場合(UNIX版限定)

TP1/EE下のUAPをクライアントとする運用形態の場合,クライアント環境定義はTP1/EEを実行する環境のOpenTP1のシステムサービス定義に指定してください。詳細は「OpenTP1下のUAPをクライアントとする場合」を参照してください。

なお,PDXAMODEは必ず指定してください。TP1/EEを実行するOpenTP1とPDXAMODEの指定値が異なる場合は,TP1/EEを実行するOpenTP1のユーザサービス定義にPDXAMODEを指定してください。

(6) PDHOSTにPDFESHOSTのホスト名を指定することによる通信先サーバの固定化(HiRDB/パラレルサーバ限定)

PDHOSTに,PDFESHOSTのホスト名を指定すると,システムマネジャユニットに障害が発生しても,HiRDBサーバに接続できます。また,SQL実行先,PCキャンセル先,及びXA回復要求先の通信先サーバを一つに固定化できます。PCキャンセルとは,PDCWAITTIMEオーバー時のサーバ決着指示のことをいいます。また,XA回復とは,OLTP下のUAP使用時のトランザクション決着指示のことをいいます。なお,クライアントとサーバのバージョンの組み合わせによって,PDHOSTに指定できるホスト名は,システムマネジャのホスト名に限定されます。

通信先サーバを固定化する場合としない場合の違いを次の図に示します。

図6‒1 通信先サーバを固定化する場合としない場合の違い

[図データ]

適用基準:

通信先サーバを固定化する場合,次の条件を満たしている必要があります。

  • HiRDB/パラレルサーバである。

  • FESホストダイレクト接続,又は高速接続である。

  • 次の表の,UAPの実行環境の推奨指定可否が○である。

    UAPの実行環境

    推奨指定可否

    非OLTP下

    1UAPが1接続,又は1UAPが複数の接続をする場合に,同一のPDFESHOSTを指定しているとき

    1UAPが複数の接続をする場合に,それぞれ異なるPDFESHOSTを指定しているとき

    ×

    OLTP下

    単一プロセス(マルチスレッド)で動作するOLTP(TP1/EE)

    OLTP下の全接続先が,同一のPDFESHOSTを指定している場合(接続先が同一の場合)※1

    OLTP下の全スレッドが,それぞれ異なるPDFESHOSTを指定している場合※1

    ×

    複数プロセスで動作するOLTP(OpenTP1,TUXEDO,TPBroker for C++,及びTP1/LiNK)

    全UAPが,同一のPDFESHOSTを指定している場合※1

    各UAPが,別々のPDFESHOSTを指定している場合※1

    PDFESHOSTを指定したUAPのクライアント環境定義※2

    PDFESHOSTを指定したUAPの全接続先が,同一のPDFESHOSTを指定している場合

    PDFESHOSTを指定したUAPの全接続先が,それぞれ異なるPDFESHOSTを指定している場合

    ×

    トランザクションマネジャ用のクライアント環境定義※3

    ×

(凡例)

○:PDHOSTにPDFESHOSTのホスト名を指定することをお勧めします。

×:PDHOSTにはシステムマネジャのホスト名を指定してください。

注※1

次の箇所に指定します。

  • OpenTP1又はTP1/EEの場合

    ユーザサービス定義,ユーザデフォルト定義,又はシステム環境定義に指定する環境変数

  • TUXEDOの場合

    トランザクションマネジャサーバ,TUXEDOシステムのサーバ,及び各UAPのクライアント環境定義

  • TPBroker for C++の場合

    トランザクション定義(決着プロセス用と回復プロセス用),及び各UAPのクライアント環境定義

  • TP1/LiNKの場合

    [ユーザサーバの環境変数]欄の[グローバル]欄,及び[ローカル]欄

  • 複数接続機能を使用している場合

    環境変数設定ファイル

注※2

次の箇所に指定します。

  • OpenTP1の場合

    ユーザサービス定義,又はユーザデフォルト定義に指定する環境変数

  • TUXEDOの場合

    各UAPのクライアント環境定義

  • TPBroker for C++の場合

    トランザクション定義(決着プロセス用),及びUAPのクライアント環境定義

  • TP1/LiNKの場合

    [ユーザサーバの環境変数]欄の[グローバル]欄,及び[ローカル]欄

  • 複数接続機能を使用する場合

    環境変数設定ファイル

注※3

次の箇所に指定します。

  • OpenTP1の場合

    トランザクションサービス定義に指定する環境変数

  • TUXEDOの場合

    トランザクションマネジャサーバ,及びTUXEDOシステムのサーバのクライアント環境定義

  • TPBroker for C++の場合

    トランザクション定義(回復プロセス)

  • TP1/LiNKの場合

    [トランザクションサービスの環境変数]欄

  • 複数接続機能を使用する場合

    環境変数設定ファイル

注意事項:

PDFESHOSTにポート番号を指定している場合,PDNAMEPORTには接続先のポート番号を接続してください。