Hitachi

ノンストップデータベース HiRDB Version 10 構造型データベース機能


16.3.1 クライアント環境定義(環境変数の設定)

UAPを実行するためには,HiRDBクライアントごとにクライアント環境定義を設定しておく必要があります。

〈この項の構成〉

(1) クライアント環境定義の設定形式

クライアント環境定義の設定形式については,マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定形式」を参照してください。

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

構造型DB機能を使用するHiRDBでは,OpenTP1下のUAPだけをサポートします。

OpenTP1下のUAPについては,マニュアル「HiRDB UAP開発ガイド」の「OLTP下のX/Openに従ったAPIを使用したUAPをクライアントとする場合の指定方法」の次の項目を参照してください。

(3) クライアント環境定義の一覧

クライアント環境定義の一覧を次の表に示します。クライアント環境定義の各オペランドの説明については,マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定内容」を参照してください。

参考

DMLを記述したUAPのプリプロセス時に参照する環境変数PDCBLLIBについては,次のマニュアルを参照してください。

  • マニュアル「HiRDB 構造型データベース機能(UAP開発編)」の「DMLプリプロセサ(pdsdbcblコマンド)」の「環境変数の設定」

表中の「番号」欄は,マニュアル「HiRDB UAP開発ガイド」の「クライアント環境定義の設定内容」での,各クライアント環境定義のオペランドの番号と対応しています。

なお,クライアント環境定義のオペランドのうち,SDBデータベースを操作するAPIまたはDMLの実行時に有効とならないオペランドがあります。「有効/無効」欄が×のオペランドは,SDBデータベースを操作するAPIまたはDMLの実行時に有効となりません。

表16‒2 クライアント環境定義の一覧

番号

環境変数名

有効/無効

環境変数の分類

1

PDHOST

○

システム構成※1

2

PDNAMEPORT

○

3

PDFESHOST

○

4

PDSERVICEGRP

○

5

PDSRVTYPE

○

6

PDSERVICEPORT

○

7

PDFESGRP

○

8

PDCLTRCVPORT

○

9

PDCLTRCVADDR

○

10

PDCONTYPE

○

11

PDTMID

○

OLTP下のX/Openに従ったAPIを使用するクライアント

12

PDXAMODE

○

13

PDTXACANUM

○

14

PDXARCVWTIME

○

15

PDXATRCFILEMODE

○

16

PDXAAUTORECONNECT

○

17

HiRDB_PDHOST

○

18

HiRDB_PDNAMEPORT

○

19

HiRDB_PDTMID

○

20

HiRDB_PDXAMODE

○

21

PDUSER

○

ユーザ実行環境

22

PDCLTAPNAME

○

23

PDCLTLANG

○

24

PDLANG

○

25

PDDBLOG

○

26

PDEXWARN

△※4

27

PDSUBSTRLEN

×

28

PDCLTCNVMODE

△※5

29

PDCLTGAIJIDLL

×

30

PDCLTGAIJIFUNC

×

31

PDCLTCNVUOCLIB

×

32

PDCLTCNVUOCFUNC

×

33

PDCLTCNVBYTERATIO

×

34

PDCLTGRP

○

35

PDAUTORECONNECT

○

36

PDRCCOUNT

○

37

PDRCINTERVAL

○

38

PDRCTIMING

○

39

PDAUTHTYPE

○

40

PDUAPENVFILE

○

41

PDDBBUFLRU

○

42

PDHATRNQUEUING

○

43

PDCLTBINDLOOPBACKADDR

×

44

PDEXTDECCHECK

×

45

PDDEFAULTOPTION

○

46

PDIPCFILEDIR

○

47

PDSOCKETCRYPTO

○

48

PDASTHOST

×

UAPからのコマンド実行

49

PDASTPORT

×

50

PDSYSTEMID

×

51

PDASTUSER

×

52

PDCMDWAITTIME

×

53

PDCMDTRACE

×

54

PDIPC

○

プロセス間メモリ通信機能

55

PDSENDMEMSIZE

○

56

PDRECVMEMSIZE

○

57

PDCWAITTIME

○

システム監視

58

PDSWAITTIME

○

59

PDSWATCHTIME

○

60

PDCWAITTIMEWRNPNT

○

61

PDKALVL

○

62

PDKATIME

○

63

PDTIMEDOUTRETRY

○

64

PDCONREFRCOUNT

○

65

PDCONREFRINTERVAL

○

66

PDNBLOCKWAITTIME

○

67

PDCONNECTWAITTIME

○

68

PDCLTPATH

○

トラブルシュート

69

PDSQLTRACE

○

70

PDUAPERLOG

○

71

PDERRSKIPCODE

○

72

PDPRMTRC

×

73

PDPRMTRCSIZE

×

74

PDTRCMODE

○

75

PDUAPREPLVL

○

76

PDREPPATH

○

77

PDTRCPATH

○

78

PDSQLTRCOPENMODE

○

79

PDSQLTEXTSIZE

×

80

PDSQLEXECTIME

○

81

PDRCTRACE

○

82

PDWRTLNPATH

×

83

PDWRTLNFILSZ

×

84

PDWRTLNCOMSZ

×

85

PDUAPEXERLOGUSE

○

86

PDUAPEXERLOGPRMSZ

×

87

PDDNDPTRACE

×

88

PDSQLTRCFMT

○

89

PDSQLTRCTYPE

△※6

90

PDJDBSQLTRCMEMNUM

×

91

PDSQLTRCBUFFSIZE

△※7

92

PDVWOPTMODE

×

アクセスパス表示ユティリティ用アクセスパス情報ファイル

93

PDTAAPINFPATH

×

HiRDB SQL Tuning Advisor用アクセスパス情報ファイル

94

PDTAAPINFMODE

×

95

PDTAAPINFSIZE

×

96

PDSTJTRNOUT

○

UAPに関する統計情報の出力単位

97

PDLOCKLIMIT

○

排他制御

98

PDDLKPRIO

○

99

PDLOCKSKIP

×

100

PDFORUPDATEEXLOCK

×

101

PDISLLVL

×

SQL関連

102

PDSQLOPTLVL

×

103

PDADDITIONALOPTLVL

×

104

PDHASHTBLSIZE

×

105

PDDFLNVAL

×

106

PDAGGR

×

107

PDCMMTBFDDL

×

108

PDPRPCRCLS

×

109

PDAUTOCONNECT

△※2

110

PDDDLDEAPRPEXE

×

111

PDDDLDEAPRP

×

112

PDLCKWAITTIME

○

113

PDCURSORLVL

×

114

PDDELRSVWDFILE

×

115

PDCALCMDWAITTIME

×

116

PDSTANDARDSQLSTATE

△※3

117

PDBLKF

×

ブロック転送機能

118

PDBINARYBLKF

×

119

PDBLKBUFFSIZE

×

120

PDBINDRETRYCOUNT

○

HiRDBの通信処理

121

PDBINDRETRYINTERVAL

○

122

PDDBACCS

○

インナレプリカ機能

123

PDDBORGUAP

×

更新可能なオンライン再編成

124

PDSPACELVL

×

データの空白変換

125

PDCLTRDNODE

×

XDM/RD E2接続機能

126

PDTP1SERVICE

×

127

PDRDCLTCODE

×

128

PDCNSTRNTNAME

×

参照制約および検査制約

129

PDTMPTBLRDAREA

×

一時表

130

PDBESCONHOLD

○

バックエンドサーバ接続保持機能

131

PDBESCONHTI

○

132

PDODBSTATCACHE

×

ODBC関数

133

PDODBESCAPE

×

134

PDGDATAOPT

×

135

PDODBLOCATOR

×

136

PDODBSPLITSIZE

×

137

PDODBCWRNSKIP

×

138

PDJETCOMPATIBLE

×

139

PDODBGINFOSUPPRESS

×

140

PDODBSTANDARDARGSIZE

×

141

PDODBSTANDARDSQLSTATE

×

142

PDODBSTANDARDDESCCOL

×

143

PDODBSTANDARDGTYPEINFO

×

144

PDODBERRTRC

×

145

PDODBERRTRCSIZE

×

146

PDPLGIXMK

×

プラグイン

147

PDPLUGINNSUB

×

148

PDPLGPFSZ

×

149

PDPLGPFSZEXP

×

150

PDHSICOPTIONS

×

HSIC限定

151

PDJDBFILEDIR

×

JDBCドライバ

152

PDJDBFILEOUTNUM

×

153

PDJDBONMEMNUM

×

154

PDJDBTRACELEVEL

×

155

PDJDBFILESIZE

×

156

PDDNDPCOMPATIBLE

×

ADO.NET

(凡例)

○:SDBデータベースを操作するAPIまたはDMLの実行時に有効となります。

△:SDBデータベースを操作するAPIまたはDMLの実行時に有効となりますが,注意事項があります。

×:SDBデータベースを操作するAPIまたはDMLの実行時に有効となりません。

注※1

システム構成に関する環境変数には,HiRDBサーバと接続するときに必要な情報を指定します。HiRDBサーバとの接続形態によっては,環境変数が指定できないことがあります。

HiRDBサーバとの接続形態については,マニュアル「HiRDB UAP開発ガイド」の「HiRDBサーバと接続するための環境変数と接続形態との関係」を参照してください。

注※2

pdsdbexeコマンドに対しては,PDAUTOCONNECTの指定が適用されません。pdsdbexeコマンドは,OFFが仮定された状態で動作します。

注※3

システム定義との関連については,マニュアル「HiRDB UAP開発ガイド」を参照してください。SQLSTATEについてはマニュアル「HiRDB メッセージ」を参照してください。

注※4

一度の要求で複数のレコードに対してアクセスする要求の場合は,最後のレコードに対するアクセスで発生した警告つきのリターンコードだけ受け取ります。複数のレコードに対してアクセスする要求については,マニュアル「TP1/Financial Service Platform プログラム作成の手引」の次の項目を参照してください。

・「SDBハンドラ制御(ee_sdh_〜)(C言語)」の「ee_sdh_accs」

・「SDBハンドラ制御(CBLEESDH)」の「CBLEESDH('ACCS ')」

注※5

SDBデータベースを操作するAPIまたはDMLの実行時は省略またはNOUSEを指定してください。指定した場合,API実行時に変換対象となる文字列はエラーメッセージだけです。

注※6

SDBデータベースを操作するAPIまたはDMLの実行時にERRORを指定した場合,SDBデータベースを操作するAPIまたはDMLの内容を判別できる情報がSQLトレースに出力されません。このため,ERRORを指定する場合は,拡張SQLエラー情報出力機能を使用し,SQLエラー情報を出力するようにしてください。

ERROR指定時に出力されない情報については,「16.5.2 SQLトレース機能」を参照してください。

拡張SQLエラー情報出力機能については,「16.5.4 拡張SQLエラー情報出力機能」を参照してください。

注※7

SDBデータベースを操作するAPIまたはDMLの情報については,SQLトレース情報を退避する領域に退避されません。

(4) SDBデータベースを操作するAPIまたはDMLの実行時にだけ指定できるクライアント環境定義

SDBデータベースを操作するAPIまたはDMLの実行時には,「表16-2 クライアント環境定義の一覧」で説明しているクライアント環境定義のオペランド以外に,次の表に示すオペランドが指定できます。

表16‒3 SDBデータベースを操作するAPIまたはDMLの実行時にだけ指定できるクライアント環境定義の一覧

番号

環境変数名

環境変数の分類

1

PDUAPEXERLOGDMLSZ

トラブルシュート

2

PDUAPEXERLOGDMLDATA

3

PDSDBPRMTRC

4

PDSDBTRCCNDSIZE

5

PDSDBTRCELMSIZE

6

PDSDBTRCKEYSIZE

7

PDSDBTRCDATASIZE

8

PDSDBDMLTRC

9

PDSDBUAPFILE

ユーザ実行環境

10

PDSDBUAPDIR

●PDUAPEXERLOGDMLSZ=DML履歴用バッファのサイズ

〜〈符号なし整数〉((0,6〜65,535))《80》(単位:キロバイト)

SDBデータベースを操作するAPIまたはDMLの実行時に確保するDML履歴用バッファのサイズをキロバイト単位で指定します。このオペランドに0を指定した場合は,DML履歴用バッファを確保しません。

DML履歴用バッファについては「16.5.4(2) DML履歴用バッファ」を参照してください。

《見積もり方法》

指定値は,次の計算式から見積もってください。

指定値=↑{(2.5+ukey_size)×req_num}↑(単位:キロバイト)

ukey_size:操作するレコードのユーザキーのサイズ(単位:キロバイト)

req_num:同一トランザクション内でのSDBデータベースを操作するAPIの要求回数,または同一トランザクション内でのDMLの要求回数

《留意事項》
  • pdsdbexeコマンドを使ってアクセスする場合,見積もり方法の計算式で求めた値に,以下の計算式で求めた値を加算してください。

    ↑3.6×アクセスするSDBデータベースの数↑(単位:キロバイト)

  • 見積もり方法の指定値は,平均的な使用を想定した場合の目安です。SDBデータベースを操作するAPIまたはDMLの実行時の要求内容によっては,DML履歴用バッファのサイズが不足することがあります。不足した場合,見積もり値より大きな値を指定してください。

  • 一度の要求で複数のレコードに対してアクセスする要求の場合は,個々のアクセスごとに1回の要求として計算してください。複数のレコードに対してアクセスする要求については,マニュアル「TP1/Financial Service Platform プログラム作成の手引」の「SDBハンドラ制御(ee_sdh_〜)(C言語)」の「ee_sdh_accs」または「SDBハンドラ制御(CBLEESDH)」の「CBLEESDH('ACCS ')」を参照してください。

  • DML履歴用バッファに記録される情報が多くなるに従って,拡張SQLエラー情報に出力されるエリアダンプの出力量が増加します。その結果,拡張SQLエラー情報の出力に掛かる時間が増加します。SQL文,SDBデータベースを操作するAPIまたはDMLでエラーが発生した際の処理時間が,要求元のタイマ監視などで問題となる場合は,PDUAPEXERLOGDMLSZの指定値を見直してください。

  • DML履歴用バッファは,HiRDBサーバとの接続後,最初にSDBデータベースを操作するAPIまたはDMLが正常終了した際に確保されます。そのため,SQLしか要求しないでDML履歴用バッファを使用しない場合に,明示的に0を指定する必要はありません。

●PDUAPEXERLOGDMLDATA={YES|NO}

拡張SQLエラー情報の出力時,DMLINFの出力項目のうちSTORDATAをエラーログファイルに出力するかどうかを指定します。

YES:

DMLINFの出力項目STORDATAをエラーログファイルに出力します。

NO:

DMLINFの出力項目STORDATAをエラーログファイルに出力しません。

出力される拡張SQLエラー情報の詳細については,「16.5.4 拡張SQLエラー情報出力機能」を参照してください。

●PDSDBPRMTRC={YES|NO}

SQLトレースにDMLのパラメタ情報および実行結果の情報を出力するかどうかを指定します。

YES:

DMLのパラメタ情報および実行結果の情報をSQLトレースに出力します。

NO:

DMLのパラメタ情報および実行結果の情報をSQLトレースに出力しません。

SQLトレースに出力されるDMLのパラメタ情報および実行結果の情報の詳細については,「16.5.2 SQLトレース機能」を参照してください。

YESを指定した場合は,出力する情報量が増えます。そのため,SQLトレースファイルのサイズ(PDSQLTRACEの指定値)を大きくする必要があります。また,必要に応じて,出力するエリア情報の最大データ長(PDSDBTRCCNDSIZE,PDSDBTRCELMSIZE,PDSDBTRCKEYSIZE,PDSDBTRCDATASIZE)を指定して,出力する情報量を抑える対処をしてください。

●PDSDBTRCCNDSIZE=SQLトレースに出力する条件の値ブロックの最大データ長

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

SQLトレースに出力するキーとキー以外の条件の値ブロックの最大データ長を指定します。

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

このオペランドに0を指定した場合は,キーとキー以外の条件の値ブロックの情報をSQLトレースに出力しません。

このオペランドの指定を省略するか,または0以外を指定した場合は,キーとキー以外の条件の値ブロックに加えて,キーとキー以外の条件の条件ブロックの情報もSQLトレースに出力します。キーとキー以外の条件の値ブロックのデータ長が指定の最大データ長を超えたときは,指定の最大データ長までの情報を出力し,最大データ長を超える部分は出力しません。

●PDSDBTRCELMSIZE=SQLトレースに出力する構成要素指定エリアの最大データ長

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

SQLトレースに出力する構成要素指定エリアの最大データ長を指定します。

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

このオペランドに0を指定した場合は,構成要素指定エリアの情報をSQLトレースに出力しません。

このオペランドの指定を省略するか,または0以外を指定した場合は,構成要素指定エリアの情報をSQLトレースに出力します。構成要素指定エリアのデータ長が指定の最大データ長を超えたときは,指定の最大データ長までの情報を出力し,最大データ長を超える部分は出力しません。

構成要素指定エリアの形式については,マニュアル「TP1/Financial Service Platform プログラム作成の手引」を参照してください。

●PDSDBTRCKEYSIZE=SQLトレースに出力するキー報告エリアのキー情報の最大データ長

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

SQLトレースに出力するキー報告エリアのキー情報の最大データ長を指定します。

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

このオペランドに0を指定した場合は,キー報告エリアのキー情報をSQLトレースに出力しません。

このオペランドの指定を省略するか,または0以外を指定した場合は,キー報告エリアのキー情報をSQLトレースに出力します。キー報告エリアのキー情報のデータ長が指定の最大データ長を超えたときは,指定の最大データ長までの情報を出力し,最大データ長を超える部分は出力しません。

SDBデータベース種別が4V FMBおよび4V AFMの場合のキー報告エリアのキー情報(キー部)の形式については,マニュアル「TP1/Financial Service Platform プログラム作成の手引」を参照してください。

SDBデータベース種別がSD FMBの場合のキー報告エリアのキー情報(キー部)の形式を次の図に示します。

図16‒1 キー報告エリアのキー情報(キー部)の形式(SD FMBのSDBデータベースの場合)

[図データ]

●PDSDBTRCDATASIZE=SQLトレースに出力するデータ格納領域のレコード情報の最大データ長

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

SQLトレースに出力するデータ格納領域のレコード情報の最大データ長を指定します。

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

このオペランドに0を指定した場合は,データ格納領域のレコード情報をSQLトレースに出力しません。

このオペランドの指定を省略するか,または0以外を指定した場合は,データ格納領域のレコード情報をSQLトレースに出力します。データ格納領域のレコード情報のデータ長が指定の最大データ長を超えたときは,指定の最大データ長までの情報を出力し,最大データ長を超える部分は出力しません。

●PDSDBDMLTRC={YES|NO}

SQLトレースにDML文情報を出力するかどうかを指定します。

YES:

DML文情報をSQLトレースに出力します。

NO:

DML文情報をSQLトレースに出力しません。

このオペランドは,SD FMBのSDB データベースを操作する場合に有効になります。

SQLトレースに出力されるDML文情報の詳細については,「16.5.2 SQLトレース機能」を参照してください。

●PDSDBUAPFILE=SDB用UAP環境定義ファイル名

〜<識別子>((最大8文字))

このオペランドは,SDB用UAP環境定義に関するオペランドです。

UAPがSD FMBのSDBデータベースにアクセスする際に,使用するSDB用UAP環境定義ファイルの名称を指定します。

UAPを個別の実行環境で動作させる場合(実行するUAPに対してSDB用UAP環境定義を適用する場合),このオペランドを指定します。この指定をすることで,UAPごとに実行環境を切り替える運用ができます。

SDB用UAP環境定義については,次の個所を参照してください。

このオペランドの指定例を次に示します。

(例)

PDSDBUAPFILE=uapenv01
《留意事項》
  • このオペランドに指定したSDB用UAP環境定義の指定内容に誤りがある場合は,UAPがHiRDBサーバにCONNECTしたときにエラーになります。

  • SDB用UAP環境定義ファイル中にSDB用UAP環境定義の指定がない場合,このオペランドの指定は無効になります。そのため,SDB用UAP環境定義ファイルがないものとして動作します(エラーにはなりません)。

●PDSDBUAPDIR=SDB用UAP環境定義ファイルの格納ディレクトリ名

〜<識別子>((最大8文字))

このオペランドは,SDB用UAP環境定義に関するオペランドです。

$PDCONFPATH/pdsdbuapenv下にSDB用UAP環境定義ファイルを格納するディレクトリを作成する場合に,このオペランドを指定します。

$PDCONFPATH/pdsdbuapenv下に格納するSDB用UAP環境定義ファイルの数が多くなると,HiRDB/SDがファイルサーチする際の処理時間が長くなります。そのため,SDB用UAP環境定義ファイルの数が多くなる場合は,業務システムなどの単位で,$PDCONFPATH/pdsdbuapenv下にさらにディレクトリを作成することを推奨します。

このオペランドの指定例を次に示します。

(例)

PDSDBUAPDIR=system01

上記の例のように指定した場合,$PDCONFPATH/pdsdbuapenv/system01下にSDB用UAP環境定義ファイルを格納する必要があります。

PDSDBUAPFILEオペランドおよびPDSDBUAPDIRオペランドの指定有無によって,適用されるSDB用UAP環境定義ファイルが次のように決まります。

  • PDSDBUAPFILEオペランドだけを指定した場合(PDSDBUAPDIRオペランドを指定しない場合)

    (例)

    PDSDBUAPFILE=uapenv01

    $PDCONFPATH/pdsdbuapenv下に格納されているSDB用UAP環境定義ファイル(uapenv01)が適用されます。

  • PDSDBUAPFILEオペランドおよびPDSDBUAPDIRオペランドを指定した場合

    (例)

    PDSDBUAPFILE=uapenv01

    PDSDBUAPDIR=system01

    $PDCONFPATH/pdsdbuapenv/system01下に格納されているSDB用UAP環境定義ファイル(uapenv01)が適用されます。