Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU -
目次 索引 前ページ次ページ

付録G 環境変数

アプリケーションのコンパイル・リンク時および実行時の動作環境のチューニングは、環境変数で指定できます。

■アプリケーションのコンパイル・リンク時に指定する環境変数

■アプリケーションの実行時に指定する環境変数

このほかに、アプリケーションの動作環境ファイルの実行パラメタに関する環境変数もあります。アプリケーションの動作環境のチューニングは、主に動作環境ファイルで行いますが、一部の環境については、環境変数で指定することもできます。環境変数に指定するパラメタはrdbuptコマンドおよびrdbunlsqlコマンドでも有効になります。

◆動作環境のチューニングの優先順

環境変数による指定と動作環境ファイルによる指定が重複する場合は、環境変数による指定が優先されます。

◆環境変数と動作環境ファイルの実行パラメタの対

環境変数と動作環境ファイルの実行パラメタの対応を以下に示します。

[表: アプリケーション実行時に指定する環境変数と動作環境ファイルの実行パラメタの対応]

環境変数名

動作環境ファイルの実行パラメタ

RDBCHARSET

CHAR_SET

RDBCOREPATH

COREFILE_PATH

RDBCSNAME

CLUSTER_SERVICE_NAME

RDBDIVTRC

DIV_TRACE_FILE

RDBDSI

INCLUSION_DSI

RDBDSO

DSO_LOCK

RDBLOCK

ISOLATION_WAIT

RDBLSQL

SQL_LEVEL

RDBMSG

MSG_PRINT

RDBNCHAR

NCHAR_CODE

RDBOBJTB

DEFAULT_OBJECT_TABLE_SIZE

RDBODBIX

DEFAULT_INDEX_SIZE

RDBODBTB

DEFAULT_TABLE_SIZE

RDBODBTY

DEFAULT_DSI_TYPE

RDBPSCAN

PARALLEL_SCAN

RDBRCVL

RCV_MODE

RDBRLOCK

R_LOCK

RDBRTRC

ROUTINE_SNAP

RDBSIGINF

SIGNAL_INF

RDBSETCALLBACK

SET_CALLBACK

RDBSMEM

SORT_MEM_SIZE

RDBSYDSI

DSI_EXPAND_POINT

RDBTRAN

TRAN_SPEC

RDBTRC

SQL_SNAP

RDBWMEM

WORK_MEM_SIZE

RDBWPATH

WORK_PATH

 

各環境変数の指定形式と意味は、以下のとおりです。

■LANG

◆【指定形式】

LANG = {ja | ja_JP.PCK | ja_JP.UTF-8 | C}

LANG = {ja_JP.UTF-8 | C}

◆【環境変数の意味】

UNIX系システムにおいて、アプリケーションのロケールを指定します。

◆【パラメタの意味】

指定したロケールからアプリケーションの言語や文字コード系が決まります(下表参照)。具体的には、以下に影響を与えます。

SQLメッセージは、以下のロケールの強度に従ってロケールが決まります。

(強い)LC_ALL > LC_MESSAGE > LANG(弱い)

Symfoware/RDBは、ロケールの言語がjaで始まる場合は日本語のメッセージを出力し、それ以外のロケール(Cロケールなど)の場合は英語でメッセージを出力します。

[表:ロケールと文字コード系の関係]

対象OS

ロケール

文字コード系

ja

EUCコード

ja_JP.PCK

シフトJISコード

ja_JP.UTF-8

UNICODE

C

インストール時の文字コード系が設定されます。(注)

ja_JP.UTF-8

UNICODE

C

インストール時の文字コード系が設定されます。(注)

注) アプリケーションのデフォルトの文字コード系は、アプリケーションが動作する環境により決まります。

アプリケーションが動作する環境

アプリケーションのデフォルトの文字コード系

Symfoware/RDBと同一サーバのアプリケーション

データベースの文字コード系

Connection Managerを利用するアプリケーション

Connection Managerインストール時の文字コード系

クライアント端末のアプリケーション

Symfoware Server クライアント機能インストール時の文字コード系

RDBCHARSET

◆【指定形式】

RDBCHARSET = {EUC_S90|EUC_U90|EUC|SJIS|UTF8}

◆【環境変数の意味】

文字列型のホスト変数、文字列型の動的パラメタ、および、SQLMSGの文字コード系を指定します。この指定は、アプリケーションをC言語で記述している場合に有効です。

データベースに格納される文字列型データの文字コード系とRDBCHARSETとの関係を以下に示します。

[表:データベースの文字コード系との関係]

データベースの文字コード系

RDBCHARSETの指定

EUC_S90

EUC_U90

EUC

SJIS

UTF8

EUCコードのS90コード

×

EUCコードのU90コード

×

シフトJISコード

UNICODE

◎:指定可能(省略値)

○:指定可能

×:指定不可能

◆【パラメタの意味】

EUC_S90:
ホスト変数内文字列のデータの文字コード系がEUCコードのS90コードの場合に指定します。
EUC_U90またはEUC:
ホスト変数内文字列のデータの文字コード系がEUCコードのU90コードの場合に指定します。EUCは互換として存在します。
SJIS:
ホスト変数内文字列のデータの文字コード系がシフトJISコードの場合に指定します。
UTF8:
ホスト変数内文字列のデータの文字コード系がUTF-8形式の場合に指定します。

アプリケーションをCOBOLで記述している場合は、本パラメタは無視されます。詳細は、“文字コード系の決定”を参照してください。

RDBCOREPATH

◆【指定形式】

RDBCOREPATH = 絶対パス名

◆【環境変数の意味】

アプリケーションまたはRDBコマンドで異常が発生した場合のダンプ出力先ディレクトを指定します。省略した場合は、カレントディレクトリに出力します。

RDBCSNAME

◆【指定形式】

RDBCSNAME = クラスタサービス名

◆【環境変数の意味】

PRIMECLUSTERまたはSafeCLUSTERと連携する場合、アプリケーションが登録されている、クラスタシステム上のクラスタサービスを指定します。

◆【パラメタの意味】

クラスタサービス名:
PRIMECLUSTERまたはSafeCLUSTERと連携する場合、クラスタシステムに登録されているクラスタサービス名を記述します。

RDBDIVTRC

◆【指定形式】

RDBDIVTRC = ({YES | NO})

◆【環境変数の意味】

複数のアプリケーションが動作する場合、出力ファイル名(SQL_SNAP機能やROUTINE_SNAP機能によって出力されるファイル、および、アクセスプラン情報やSQL性能情報を取得するファイル)の後ろに、プロセスIDなどの情報を付加して個別のトレース情報を出力すか否かを指定します。省略した場合は、NOが指定されたとみなします。

◆【パラメタの意味】

YES:
出力ファイル名の後に以下の情報を付加して個別のトレース情報を取得します。

出力ファイル名をsqlsnap.lstとし、ログイン名がtest、プロセスIDが288、セション開始時間が2007年4月16日12時34分56秒であるとした場合、以下のファイルに情報が出力されます。

sqlsnap_test_288_20070416123456.lst

NO:
個別のトレース情報を取得しません。

アプリケーションがマルチスレッド環境で動作する場合は、RDBDIVTRCの指定に関係なく、自動的に以下の情報を出力ファイル名の後に付加して、個別のトレース情報を出力します。

RDBDSI

◆【指定形式】

RDBDSI = データベース名.DSI名[,データベース名.DSI名・・・]

◆【環境変数の意味】

アプリケーションで、DSIを限定したい表のDSI名を指定します。

アプリケーションでは、限定されたDSIを含む表に対しては、そのDSIだけがデータ操作の範囲となります。また、本実行パラメタの指定により、アプリケーション中での探索条件の記述が省略できます。なお、アプリケーションでDSIを限定していない表に対しては、データ操作をすることができます。

RDBDSO

◆【指定形式】

RDBDSO = DSO名[/[P][占有モード]][,DSO名[/[P][占有モード]]・・・]

◆【環境変数の意味】

アプリケーションで使用するDSOおよびその占有の単、占有モーを指定します。RDBDSOが指定された場合、SET TRANSACTIONは指定できません。

また、環境変数RDBRLOCK=YESを指定することはできません。

◆【パラメタの意味】

DSO名:
アプリケーションで使用するDSO名を以下の形式で指定します。

データベース名.DSO名

P:
DSOの占有の単位をページとします。省略した場合は、占有の単位はDSIとなります。
占有モード:
占有のモードとして以下のいずれかを指定します。省略した場合は、EXが指定されたとみなします。
- EX:
非共有モードの排他を行います。
- SH:
共有モードの排他を行います。

RDBLOCK

◆【指定形式】

RDBLOCK = DYNAM[,{WAIT | REJECT}]

◆【環境変数の意味】

あるトランザクションで資源にアクセスしようとしたとき、別のトランザクションがその資源を占有していた場合に、資源の占有が解除されるまで待つか否かを指定します。省略した場合は、WAITが指定されたとみなします。

◆【パラメタの意味】

DYNAM:
この環境変数を指定する場合には必ず指定します。
WAIT:
資源の占有が解除されるまで待ちます。
REJECT:
エラーとしてアプリケーションに復帰します。

RDBLSQL

◆【指定形式】

RDBLSQL = ({SQL88 | SQL92 | SQL95 | SQL96 | SQL2000})

◆【環境変数の意味】

アプリケーションの予約語のレベを設定します。環境変数の指定を省略した場合は、SQL2000が指定されたとみなします。

予約語のレベルを設定することで、キーワードの範囲を変更できます。

ファンクションルーチンおよびロールを利用する場合は、SQL2000が指定されていなければなりません。

プロシジャルーチンで、条件宣言、ハンドラ宣言、SIGNAL文およびRESIGNAL文を利用する場合は、SQL2000が指定されていなければなりません。これらを利用しないプロシジャルーチンの場合は、SQL95、SQL96またはSQL2000のいずれかを指定します。

トリガ、行識別子または並列指定を利用する場合は、SQL96またはSQL2000を指定します。

◆【パラメタの意味】

SQL88:
予約語のレベルをSQL88とします。
SQL92:
予約語のレベルをSQL92とします。
SQL95:
予約語のレベルをSQL95とします。
SQL96:
予約語のレベルをSQL96とします。
SQL2000:
予約語のレベルをSQL2000とします。

各予約語のレベルにおけるキーワードについては、“SQLリファレンス”を参照してください。

RDBMSG

◆【指定形式】

RDBMSG = E

◆【環境変数の意味】

SQL文実行時に、エラーメッセーを標準エラー出力に出力するか否かを指定します。エラーメッセージを出力する場合は、Eを指定します。エラーメッセージを標準エラー出力に出力しない場合は、この環境変数を指定しません。

RDBNCHAR

◆【指定形式】

RDBNCHAR = {EUC_S90|EUC_U90|EUC|COBOL_EUC_S90|COBOL_EUC_U90|COBOL_EUC|SJIS |UTF8|UCS2|UCS2B}

◆【環境変数の意味】

各国語文字列型のホスト変数、各国語文字列型の動的パラメタの文字コード系を指定します。この指定は、アプリケーションをC言語で記述している場合に有効です。

データベースに格納される各国語文字列型データの文字コード系とRDBNCHARとの関係を以下に示します。

[表:データベースの文字コード系との関係]

データベースの文字コード系

RDBNCHARの指定

EUC_S90

COBOL_EUC_S90

EUC_U90

EUC

COBOL_EUC_U90

COLBOL_EUC

SJIS

UTF8

UCS2

UCS2B

EUCコードのS90コード

×

EUCコードのU90コード

×

シフトJISコード

UNICODE

◎:指定可能(省略時は、RDBCHARSETに設定される値かRDBCHARSETの省略値)

○:指定可能

×:指定不可能

◆【パラメタの意味】

EUC_S90:
ホスト変数内文字列のデータの文字コード系がEUCコードのS90コードの場合に指定します。
EUC_U90またはEUC:
ホスト変数内文字列のデータの文字コード系がEUCコードのU90コードの場合に指定します。EUCは互換として存在します。
COBOL_EUC_S90:
ホスト変数内文字列のデータの文字コード系がEUCコードのS90コードのCOBOLの内部表現形式(COBOL_EUC)の場合に指定します。
COBOL_EUC_U90またはCOBOL_EUC:
ホスト変数内文字列のデータの文字コード系がEUCコードのU90コードのCOBOLの内部表現形式(COBOL_EUC)場合に指定します。COBOL_EUCは下位互換として存在します。
SJIS:
ホスト変数内文字列のデータの文字コード系がシフトJISコードの場合に指定します。
UTF8:
ホスト変数内文字列のデータの文字コード系がUTF-8形式の場合に指定します。
UCS2:
ホスト変数内文字列のデータの文字コード系がUCS-2形式の場合に指定します。
UCS2B:
ホスト変数内文字列のデータの文字コード系がバイトスワップしたUCS-2形式の場合に指定します。

アプリケーションをCOBOLで記述している場合は、本パラメタは無視されます。詳細は、“文字コード系の決定”を参照してください。

RDBOBJTB

◆【指定形式】

RDBOBJTB = ページ長,初期量[,拡張量,拡張契機]

◆【環境変数の意味】

動的SQLを使用して格納構造定義を簡略化した表を定義す場合、OBJECT構造の表のデータ格納域の割付け量、ページ長などを指定します。単位はキロバイトです。この環境変数を省略した場合は、以下の値が指定されたとみなします。

RDBOBJTB = 32,32768,32768,0

◆【パラメタの意味】

ページ長:
データ格納域のページ長を指定します。必ず32を指定します。
初期量:
データ格納域の初期量を2〜2097150の範囲で指定します。
拡張量:
データ格納域の拡張量を1〜2097150の範囲で指定します。省略した場合は、32768が指定されたとみなします。
拡張契機:
データ格納域の拡張を行うタイミングとして、表のDSIの空き容量を指定します。つまり、表のDSIの空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。省略した場合は、0が指定されたとみなします。

RDBODBIX

◆【指定形式】

RDBODBIX = ベース部ページ長,インデックス部ページ長,ベース部初期量,インデックス部初期量[,拡張量,拡張契機]

◆【環境変数の意味】

動的SQLを使用して格納構造定義を簡略化したインデックスを定義す場合、インデックスのベース部とインデックス部の割付け量、ページ長などを指定します。単位はキロバイトです。この環境変数を省略した場合は、以下の値が指定されたとみなします。

RDBODBIX = 2、2、168、32、32、0

◆【パラメタの意味】

ベース部ページ長:
ベース部のページ長を1、2、4、8、16、32の中から指定します。
インデックス部ページ長:
インデックス部のページ長を1、2、4、8、16、32の中から指定します。
ベース部初期量:
ベース部の初期量を2〜2097150の範囲で指定します。
インデックス部初期量:
インデックス部の初期量を2〜2097150の範囲で指定します。
拡張量:
ベース部の拡張量を1〜2097150の範囲で指定します。省略した場合は、32が指定されたとみなします。インデックス部の拡張量は、ベース部の5分の1の値となります。
拡張契機:
インデックスのベース部およびインデックス部の拡張を行うタイミングとして、DSIの空き容量を指定します。つまり、インデックスのDSIの空き容量がここで指定した値になると、インデックスのベース部とインデックス部の拡張が行われます。省略した場合は、0が指定されたとみなします。

RDBODBTB

◆【指定形式】

RDBODBTB = ページ長,初期量[,拡張量,拡張契機]

◆【環境変数の意味】

動的SQLを使用して格納構造定義を簡略化した表を定義す場合、表のデータ格納域の割付け量、ページ長などを指定します。単位はキロバイトです。この環境変数を省略した場合は、以下の値が指定されたとみなします。

RDBODBTB = 4,256,64,0

◆【パラメタの意味】

ページ長:
データ格納域のページ長を1、2、4、8、16、32の中から指定します。
初期量:
データ格納域の初期量を2〜2097150の範囲で指定します。
拡張量:
データ格納域の拡張量を1〜2097150の範囲で指定します。省略した場合は、64が指定されたとみなします。
拡張契機:
データ格納域の拡張を行うタイミングとして、表のDSIの空き容量を指定します。つまり、表のDSIの空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。省略した場合は、0が指定されたとみなします。

RDBODBTY

◆【指定形式】

RDBODBTY = {SEQUENTIAL | OBJECT}

◆【環境変数の意味】

格納構造定義を簡略化した表を定義す場合に、Symfoware/RDBが自動的に生成する表のDSOの格納構造を選択します。本パラメタにより格納構造の選ができるのは、表の形式が以下の条件をすべて満たしている場合のみです。

上記以外の場合は、表のDSOはSEQUENTIAL型となります。

◆【パラメタの意味】

SEQUENTIAL:
表のDSOとしてSEQUENTIAL格納構造のDSOを定義します。
OBJECT:
表のDSOとしてOBJECT格納構造のDSOを定義します。

RDBPSCAN

◆【指定形式】

RDBPSCAN = {YES | NO}

◆【環境変数の意味】

アプリケーション単位またはコネクション単位に、データベースを並列に検索する(並列クエ)か否かを指定します。省略した場合は、NOが指定されたとみなします。

◆【パラメタの意味】

YES:
データベースを並列に検索します。この場合、そのアプリケーションの単一行SELECTおよびOPENを並列検索で実行できます。ただし、以下のいずれかの条件を満たす場合、並列検索は実行されず従来のアクセス手順でデータベースをアクセスします。
NO:
データベースを並列に検索しません。

RDBRCVL

◆【指定形式】

RDBRCVL = {RCV | NRCV}

◆【環境変数の意味】

アプリケーションのリカバリ水を指定します。環境変数の指定を省略した場合はRCVが指定されたとみなします。

◆【パラメタの意味】

RCV:
リカバリ機能を利用します。この場合、リカバリを適用しない(rdbrtrコマンで利用規定にnオプションを指定している)データベースをアクセスすることはできますが、ログは取得されません。
NRCV:
リカバリ機能を利用しません。この場合、リカバリを適用する(rdbrtrコマンドで利用規定にnオプションを指定していない)データベースを更新することはできません。

RDBRLOCK

◆【指定形式】

RDBRLOCK = {YES | NO}

◆【環境変数の意味】

占有の単を行とするかどうかを指定します。省略した場合は、NOが指定されたとみなします。

◆【パラメタの意味】

YES:
占有の単位を行とします。このパラメタを指定した場合、環境変数RDBDSOを指定することはできません。
NO:
占有の単位は、RDBDSOの指定に従います。このパラメタを指定し、かつRDBDSOが指定されていない場合は、Symfoware/RDBによって自動的に占有の単位が選択されます。詳細については、“排他制御”を参照してください。

RDBRTRC

◆【指定形式】

RDBRTRC = 出力レベル,ファイル名

◆【環境変数の意味】

ROUTINE_SNAP機の出力レベルと、出力先ファイル名を指定します。環境変数の指定を省略した場合は、ROUTINE_SNAP機能を利用しないとみなします。

ROUTINE_SNAP機能は、SQL手続き文の実行情報をファイルに出力する機能です。ROUTINE_SNAP機能の詳細および使用方法については、“アプリケーションのデバッグ”を参照してください。

◆【パラメタの意味】

出力レベル:
出力する情報のレベルとして、1または2を指定します。省略した場合は、2が指定されたとみなします。出力レベルの指定と出力情報の対応については、“表:出力レベルの指定と出力情報の対応”を参照してください。
ファイル名:
SQL手続き文の実行情報の出力先のサーバ側のファイル名を、絶対パスで指定します。

複数のアプリケーションが動作する場合は、環境変数RDBDIVTRCの指定により、出力ファイル名の後にプロセスIDなどの情報を付加して、個別のトレース情報を出力します。

アプリケーションがマルチスレッド環境で動作する場合は、RDBDIVTRCの指定に関係なく、出力ファイル名の後にプロセスIDやセションIDなどの情報を自動的に付加して、個別のトレース情報を出力します。

RDBSIGINF

◆【指定形式】

RDBSIGINF = {YES | NO}

◆【環境変数の意味】

UNIX系システムにおいて、signal関をアプリケーションで利用するか否かを指定します。指定を省略した場合は、YESが指定されたものとみなします。

◆【パラメタの意味】

YES:
signal関数をアプリケーションで利用します。
NO:
signal関数をアプリケーションで利用しません。

RDBSETCALLBACK

◆【指定形式】

RDBSETCALLBACK = ライブラリ名

◆【環境変数の意味】

アプリケーションの起動時にコールバック関数を登録する場合、動的ライブラリ名を指定します。

動的ライブラリ名が絶対パスでの指定でない場合は、以下のディレクトリにライブラリを格納する必要があります。

環境変数LD_LIBRARY_PATHに指定したディレクトリ

PATHに指定したディレクトリ

RDBSMEM

◆【指定形式】

RDBSMEM = メモリサイズ

◆【環境変数の意味】

ソート処理のために作業用ソート領としてサーバ側で使用するメモリの大きさを、64〜2097150の範囲で指定します。単位はキロバイトです。環境変数の指定を省略した場合は、2112が指定されたとみなします。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。

RDBSYDSI

◆UNIX系の場合

【指定形式】

RDBSYDSI

【環境変数の意味】

アプリケーションによるデータ操作で、DSIに定義された拡張契(rdbalmdsiコマンで定義します)を無効とする場合に、この環境変数を指定します。パラメタはありません。

◆Windows(R)の場合

【指定形式】

RDBSYDSI = {YES | NO}

【環境変数の意味】

アプリケーションによるデータ操作で、DSIに定義された拡張契(rdbalmdsiコマンで定義します)を無効とするか否かを指定します。環境変数の指定を省略した場合は、NOが指定されたとみなします。

【パラメタの意味】

YES:
DSIに定義された拡張契機を無効とする。
NO:
DSIに定義された拡張契機を有効とする。

RDBTRAN

◆【指定形式】

RDBTRAN = {SC | TC}

◆【環境変数の意味】

SQL文が実行中にエラーとなった場合のトランザクションの対処方を指定します。環境変数の指定を省略した場合は、SCが指定されたとみなします。

◆【パラメタの意味】

SC:
各プラットフォームのトランザクションの仕様に従います。
TC:
SQL文の実行がエラーとなった場合に、トランザクションをロールバックします。

RDBTRC

◆【指定形式】

RDBTRC = 出力レベル,ファイル名[,繰り返し幅]

◆【環境変数の意味】

SQL_SNAP機の出力レベルと、出力先ファイル名を指定します。環境変数の指定を省略した場合は、SQL_SNAP機能を利用しません。

SQL_SNAP機能は、アプリケーションが実行したSQL文の情報をファイルに出力する機能です。SQL_SNAP機能の詳細および使用方法については、“アプリケーションのデバッグ”を参照してください。

◆【パラメタの意味】

出力レベル:
出力する情報のレベルとして、1〜3のいずれかを指定します。ただし、レベル2とレベル3の出力情報は同じです。出力レベルの指定と出力情報の対応は、“表:出力レベルの指定と出力情報の対応”を参照してください。
ファイル名:
SQL_SNAP機能が出力するSQL文の実行情報の出力先ファイル名を指定します。ファイル名にディレクトリの指定がない場合は、カレントディレクトリが指定されたとみなします。

複数のアプリケーションが動作する場合は、環境変数RDBDIVTRCの指定により、出力ファイル名の後にプロセスIDなどの情報を付加して、個別のトレース情報を出力します。

アプリケーションがマルチスレッド環境で動作する場合は、RDBDIVTRCの指定に関係なく、出力ファイル名の後にプロセスIDやセションIDなどの情報を自動的に付加して、個別のトレース情報を出力します。

繰り返し幅:
出力する情報を、ファイルに繰り返し幅でサイクリックに出力する場合に指定します。繰り返し幅は、1〜32768の幅で指定します。出力する情報の単位は、1つのSQL文を1単位とします。省略した場合は、先頭からの情報をすべて出力します。

RDBWMEM

◆【指定形式】

RDBWMEM = メモリサイズ

◆【環境変数の意味】

作業用テーブとしてサーバ側で使用するメモリのサイズを64〜2097150の範囲で指定します。単位はキロバイトです。省略した場合は、64が指定されたとみなします。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。

RDBWPATH

◆【指定形式】

RDBWPATH = パス名[[:パス名]・・・]

◆【環境変数の意味】

サーバ側で使用する作業用ソート領および作業用テーブとして、サーバ側での獲得先ディレクトリを指定します。


目次 索引 前ページ次ページ

All Rights Reserved, Copyright(C) 富士通株式会社 2007-2008