Hitachi

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


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

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

〈この項の構成〉

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

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

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

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

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

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

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

表中の「番号」欄は,マニュアル「HiRDB Version 9 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

PDCLTGRP

○

31

PDAUTORECONNECT

○

32

PDRCCOUNT

○

33

PDRCINTERVAL

○

34

PDUAPENVFILE

○

35

PDDBBUFLRU

○

36

PDHATRNQUEUING

○

37

PDCLTBINDLOOPBACKADDR

×

38

PDEXTDECCHECK

×

39

PDRCTIMING

○

40

PDAUTHTYPE

○

41

PDDEFAULTOPTION

○

42

PDASTHOST

×

UAPからのコマンド実行

43

PDASTPORT

×

44

PDSYSTEMID

×

45

PDASTUSER

×

46

PDCMDWAITTIME

×

47

PDCMDTRACE

×

48

PDIPC

○

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

49

PDSENDMEMSIZE

○

50

PDRECVMEMSIZE

○

51

PDCWAITTIME

○

システム監視

52

PDSWAITTIME

○

53

PDSWATCHTIME

○

54

PDCWAITTIMEWRNPNT

○

55

PDKALVL

○

56

PDKATIME

○

57

PDTIMEDOUTRETRY

○

58

PDNBLOCKWAITTIME

○

59

PDCONNECTWAITTIME

○

60

PDCLTPATH

○

トラブルシュート

61

PDSQLTRACE

○

62

PDUAPERLOG

○

63

PDERRSKIPCODE

○

64

PDPRMTRC

×

65

PDPRMTRCSIZE

×

66

PDTRCMODE

○

67

PDUAPREPLVL

○

68

PDREPPATH

○

69

PDTRCPATH

○

70

PDSQLTRCOPENMODE

○

71

PDSQLTEXTSIZE

×

72

PDSQLEXECTIME

○

73

PDRCTRACE

○

74

PDWRTLNPATH

×

75

PDWRTLNFILSZ

×

76

PDWRTLNCOMSZ

×

77

PDUAPEXERLOGUSE

○

78

PDUAPEXERLOGPRMSZ

×

79

PDDNDPTRACE

×

80

PDSQLTRCFMT

○

81

PDVWOPTMODE

×

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

82

PDTAAPINFPATH

×

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

83

PDTAAPINFMODE

×

84

PDTAAPINFSIZE

×

85

PDSTJTRNOUT

○

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

86

PDLOCKLIMIT

○

排他制御

87

PDDLKPRIO

○

88

PDLOCKSKIP

×

89

PDFORUPDATEEXLOCK

×

90

PDISLLVL

×

SQL関連

91

PDSQLOPTLVL

×

92

PDADDITIONALOPTLVL

×

93

PDHASHTBLSIZE

×

94

PDDFLNVAL

×

95

PDAGGR

×

96

PDCMMTBFDDL

×

97

PDPRPCRCLS

×

98

PDAUTOCONNECT

△※2

99

PDDDLDEAPRPEXE

×

100

PDDDLDEAPRP

×

101

PDLCKWAITTIME

○

102

PDCURSORLVL

×

103

PDDELRSVWDFILE

×

104

PDCALCMDWAITTIME

×

105

PDSTANDARDSQLSTATE

△※3

106

PDBLKF

×

ブロック転送機能

107

PDBINARYBLKF

×

108

PDBLKBUFFSIZE

×

109

PDBINDRETRYCOUNT

○

HiRDBの通信処理

110

PDBINDRETRYINTERVAL

○

111

PDDBACCS

○

インナレプリカ機能

112

PDDBORGUAP

×

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

113

PDSPACELVL

×

データの空白変換

114

PDCLTRDNODE

×

XDM/RD E2接続機能

115

PDTP1SERVICE

×

116

PDRDCLTCODE

×

117

PDCNSTRNTNAME

×

参照制約および検査制約

118

PDTMPTBLRDAREA

×

一時表

119

PDBESCONHOLD

○

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

120

PDBESCONHTI

○

121

PDODBSTATCACHE

×

ODBC関数

122

PDODBESCAPE

×

123

PDGDATAOPT

×

124

PDODBLOCATOR

×

125

PDODBSPLITSIZE

×

126

PDODBCWRNSKIP

×

127

PDJETCOMPATIBLE

×

128

PDODBGINFOSUPPRESS

×

129

PDODBSTANDARDARGSIZE

×

130

PDODBSTANDARDSQLSTATE

×

131

PDODBSTANDARDDESCCOL

×

132

PDODBSTANDARDGTYPEINFO

×

133

PDPLGIXMK

×

プラグイン

134

PDPLUGINNSUB

×

135

PDPLGPFSZ

×

136

PDPLGPFSZEXP

×

137

PDHSICOPTIONS

×

HSIC限定

138

PDJDBFILEDIR

×

JDBCドライバ

139

PDJDBFILEOUTNUM

×

140

PDJDBONMEMNUM

×

141

PDJDBTRACELEVEL

×

142

PDJDBFILESIZE

×

143

PDXDSHOST

×

XDSクライアント限定

144

PDXDSPORT

×

145

PDXVWOPT

×

(凡例)

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

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

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

注※1

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

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

注※2

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

注※3

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

注※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

PDSDBUAPFILE

ユーザ実行環境

4

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エラー情報出力機能」を参照してください。

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