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

PDTMID

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

11

PDXAMODE

12

PDTXACANUM

13

PDXARCVWTIME

14

PDXATRCFILEMODE

15

PDXAAUTORECONNECT

16

HiRDB_PDHOST

17

HiRDB_PDNAMEPORT

18

HiRDB_PDTMID

19

HiRDB_PDXAMODE

20

PDUSER

ユーザ実行環境

21

PDCLTAPNAME

22

PDCLTLANG

23

PDLANG

24

PDDBLOG

25

PDEXWARN

※4

26

PDSUBSTRLEN

×

27

PDCLTCNVMODE

※5

28

PDCLTGAIJIDLL

×

29

PDCLTGAIJIFUNC

×

30

PDCLTCNVUOCLIB

×

31

PDCLTCNVUOCFUNC

×

32

PDCLTCNVBYTERATIO

×

33

PDCLTGRP

34

PDAUTORECONNECT

35

PDRCCOUNT

36

PDRCINTERVAL

37

PDUAPENVFILE

38

PDDBBUFLRU

39

PDHATRNQUEUING

40

PDCLTBINDLOOPBACKADDR

×

41

PDEXTDECCHECK

×

42

PDRCTIMING

43

PDAUTHTYPE

44

PDDEFAULTOPTION

45

PDASTHOST

×

UAPからのコマンド実行

46

PDASTPORT

×

47

PDSYSTEMID

×

48

PDASTUSER

×

49

PDCMDWAITTIME

×

50

PDCMDTRACE

×

51

PDIPC

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

52

PDSENDMEMSIZE

53

PDRECVMEMSIZE

54

PDCWAITTIME

システム監視

55

PDSWAITTIME

56

PDSWATCHTIME

57

PDCWAITTIMEWRNPNT

58

PDKALVL

59

PDKATIME

60

PDTIMEDOUTRETRY

61

PDCONREFRCOUNT

62

PDCONREFRINTERVAL

63

PDNBLOCKWAITTIME

64

PDCONNECTWAITTIME

65

PDCLTPATH

トラブルシュート

66

PDSQLTRACE

67

PDUAPERLOG

68

PDERRSKIPCODE

69

PDPRMTRC

×

70

PDPRMTRCSIZE

×

71

PDTRCMODE

72

PDUAPREPLVL

73

PDREPPATH

74

PDTRCPATH

75

PDSQLTRCOPENMODE

76

PDSQLTEXTSIZE

×

77

PDSQLEXECTIME

78

PDRCTRACE

79

PDWRTLNPATH

×

80

PDWRTLNFILSZ

×

81

PDWRTLNCOMSZ

×

82

PDUAPEXERLOGUSE

83

PDUAPEXERLOGPRMSZ

×

84

PDDNDPTRACE

×

85

PDSQLTRCFMT

86

PDVWOPTMODE

×

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

87

PDTAAPINFPATH

×

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

88

PDTAAPINFMODE

×

89

PDTAAPINFSIZE

×

90

PDSTJTRNOUT

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

91

PDLOCKLIMIT

排他制御

92

PDDLKPRIO

93

PDLOCKSKIP

×

94

PDFORUPDATEEXLOCK

×

95

PDISLLVL

×

SQL関連

96

PDSQLOPTLVL

×

97

PDADDITIONALOPTLVL

×

98

PDHASHTBLSIZE

×

99

PDDFLNVAL

×

100

PDAGGR

×

101

PDCMMTBFDDL

×

102

PDPRPCRCLS

×

103

PDAUTOCONNECT

※2

104

PDDDLDEAPRPEXE

×

105

PDDDLDEAPRP

×

106

PDLCKWAITTIME

107

PDCURSORLVL

×

108

PDDELRSVWDFILE

×

109

PDCALCMDWAITTIME

×

110

PDSTANDARDSQLSTATE

※3

111

PDBLKF

×

ブロック転送機能

112

PDBINARYBLKF

×

113

PDBLKBUFFSIZE

×

114

PDBINDRETRYCOUNT

HiRDBの通信処理

115

PDBINDRETRYINTERVAL

116

PDDBACCS

インナレプリカ機能

117

PDDBORGUAP

×

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

118

PDSPACELVL

×

データの空白変換

119

PDCLTRDNODE

×

XDM/RD E2接続機能

120

PDTP1SERVICE

×

121

PDRDCLTCODE

×

122

PDCNSTRNTNAME

×

参照制約および検査制約

123

PDTMPTBLRDAREA

×

一時表

124

PDBESCONHOLD

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

125

PDBESCONHTI

126

PDODBSTATCACHE

×

ODBC関数

127

PDODBESCAPE

×

128

PDGDATAOPT

×

129

PDODBLOCATOR

×

130

PDODBSPLITSIZE

×

131

PDODBCWRNSKIP

×

132

PDJETCOMPATIBLE

×

133

PDODBGINFOSUPPRESS

×

134

PDODBSTANDARDARGSIZE

×

135

PDODBSTANDARDSQLSTATE

×

136

PDODBSTANDARDDESCCOL

×

137

PDODBSTANDARDGTYPEINFO

×

138

PDPLGIXMK

×

プラグイン

139

PDPLUGINNSUB

×

140

PDPLGPFSZ

×

141

PDPLGPFSZEXP

×

142

PDHSICOPTIONS

×

HSIC限定

143

PDJDBFILEDIR

×

JDBCドライバ

144

PDJDBFILEOUTNUM

×

145

PDJDBONMEMNUM

×

146

PDJDBTRACELEVEL

×

147

PDJDBFILESIZE

×

148

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実行時に変換対象となる文字列はエラーメッセージだけです。

(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

PDSDBUAPFILE

ユーザ実行環境

9

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トレースに出力します。データ格納領域のレコード情報のデータ長が指定の最大データ長を超えたときは,指定の最大データ長までの情報を出力し,最大データ長を超える部分は出力しません。

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)が適用されます。