Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU - |
目次 索引 |
ここでは、クライアント用の動作環境ファイルの定義方法と、定義する実行パラメタの種類、記述形式および意味について説明します。
ここでは、クライアント用の動作環境ファイルの定義方法を説明します。クライアント用の動作環境ファイルの定義は、以下の作業を順番に行います。
動作環境ファイルの雛形を複写する
実行パラメタを設定する
動作環境ファイルは、動作環境ファイルの雛形を応用プログラム実行時のカレントディレクトリなどに複写して作成します。なお、作成した動作環境ファイルを指定する方法の詳細は、“応用プログラムの起動(UNIX系の場合)”または“応用プログラムの起動(Windowsの場合)”を参照してください。
動作環境ファイルの雛形のファイル名と格納ディレクトリを以下に示します。
利用する製品名 |
OS |
ディレクトリ |
ファイル名 |
---|---|---|---|
Symfoware Server |
Solaris OE |
/opt/FSUNrdb2b/demo |
fssqlenvc |
Linux |
/opt/FJSVrdb2b/demo |
fssqlenvc |
|
Windows 2000およびWindows Server 2003 |
製品のインストール先ディレクトリ\ESQL\ETC |
SQLRT.ENV |
|
Symfoware Server クライアント機能 |
Solaris OE |
/opt/FSUNrdb2b/demo |
fssqlenvc |
Linux |
/opt/FJSVrdb2b/demo |
fssqlenvc |
|
Windows Me、 |
製品のインストール先ディレクトリ\ESQL\ETC |
SQLRT.ENV |
特にチューニングしない場合は、以下の推奨値を指定してください。
パラメタ名 |
推奨値 |
---|---|
RESULT_BUFFER |
2, 32 |
MAX_SQL |
256 |
OPL_BUFFER_SIZE |
256 |
実行パラメタは、テキスト形式の動作環境ファイルに汎用エディタを利用して設定してください。
図:クライアント用の動作環境ファイルに実行パラメタを設定した例に、動作環境ファイルに実行パラメタを設定した例を示します。
クライアント用の動作環境ファイルには、応用プログラムの実行に必要な環境情報として実行パラメタを記述します。
実行パラメタは、表:クライアント用の動作環境ファイルの実行パラメタの種類に示す種類があります。
分類 |
実行パラメタ |
概要 |
記述数 |
記述の省略 |
---|---|---|---|---|
通信 |
通信に利用するバッファ(クライアント側)のサイズ |
単一 |
省略可能 |
|
応用プログラムをフェイルオーバ運用で実行する場合に必要な情報 |
単一 |
省略可能 |
||
サーバとの結合情報のデフォルト |
単一 |
CONNECT文にDEFAULTを指定する場合は省略不可。 |
||
使用するサーバ用の動作環境ファイル名 |
複数可 |
省略可能 |
||
リモートのサーバと通信するための情報 |
複数可 |
リモートのデータベースにアクセスする場合省略不可。ローカルの場合は指定できない。 |
||
SQLエラー発生時のトランザクション |
単一 |
省略可能 |
||
1つのトランザクションの最大使用可能時間 |
単一 |
省略可能 |
||
通信時の待ち時間 |
単一 |
省略可能 |
||
作業領域など |
DESC_NUM(注1) |
応用プログラムで利用できる最大列数 |
単一 |
省略可能 |
動的SQLのSQL記述子の情報 |
単一 |
省略可能 |
||
同時に操作できるSQL文の数 |
単一 |
省略可能 |
||
SQL文の実行手順を格納しておくバッファのサイズ |
単一 |
省略可能 |
||
一括FETCHを行う場合のバッファの数とサイズ |
単一 |
省略可能 |
||
作業用ソート領域として使うメモリサイズ |
単一 |
省略可能 |
||
作業用テーブルおよび作業用ソート領域として使用するファイルサイズ |
単一 |
省略可能 |
||
作業用テーブルとして使うメモリのサイズ |
単一 |
省略可能 |
||
作業用テーブルおよび作業用ソート領域のパス |
単一 |
省略可能 |
||
文字データ処理 |
代入処理でオーバフローが起きた場合の処理 |
単一 |
省略可能 |
|
文字コードの変換をクライアントで行うか否か |
単一 |
省略可能 |
||
応用プログラム中の文字のコード |
単一 |
省略可能 |
||
応用プログラム中の日本語文字のコード |
単一 |
省略可能 |
||
RDA_CONV_CODE(注1) |
文字コード系を指定する |
単一 |
省略可能 |
|
表・インデックス |
格納構造定義を簡略化した表を定義する場合、Symfoware/RDBが自動的に生成する表のDSOの格納構造の選択 |
単一 |
省略可能 |
|
格納構造定義を簡略化したインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量、ページ長など |
単一 |
省略可能 |
||
格納構造定義を簡略化した表を定義する場合のOBJECT構造の表のデータ格納域の初期量、拡張量、ページ長など |
単一 |
省略可能 |
||
格納構造定義を簡略化した表を定義する場合の表のデータ格納域の初期量、拡張量、ページ長など |
単一 |
省略可能 |
||
DSIの容量拡張を起動するか否か |
単一 |
省略可能 |
||
応用プログラムで使用するDSIを限定する |
単一 |
省略可能 |
||
一時表にインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量など |
単一 |
省略可能 |
||
一時表を定義する場合の表のデータ格納域の初期量、拡張量など |
単一 |
省略可能 |
||
排他 |
使用するDSOの占有の単位、占有モード |
単一 |
省略可能 |
|
占有待ちの方式 |
単一 |
省略可能 |
||
占有の単位を行とする |
単一 |
省略可能 |
||
デバッグ |
COREFILE_PATH(注2) |
応用プログラムで異常が発生した場合のダンプ出力先 |
単一 |
省略可能 |
複数プロセス配下で応用プログラムが動作している場合、個別のトレース情報を出力するか否か |
単一 |
省略可能 |
||
ROUTINE_SNAP機能を利用するか否か |
単一 |
省略可能 |
||
コールバック関数の動的登録機能を利用するか否か |
単一 |
省略可能 |
||
SQL_SNAP機能を利用するか否か |
単一 |
省略可能 |
||
アクセスプラン・性能情報(注3) |
ACCESS_PLAN |
応用プログラム単位でアクセスプランを取得するか否か |
単一 |
省略可能 |
JOIN_ORDER |
結合表と他の表のジョイン順 |
単一 |
省略可能 |
|
JOIN_RULE |
ジョインする方法 |
単一 |
省略可能 |
|
SQL_TRACE |
応用プログラム単位でSQL性能情報を取得するか否か |
単一 |
省略可能 |
|
SS_RATE |
述語ごとの検索範囲の選択率の値 |
単一 |
省略可能 |
|
TID_SORT |
インデックス検索と表データ取得のアクセスモデルTIDソートを利用するか否か |
単一 |
省略可能 |
|
TID_UNION |
TIDユニオンマージのアクセスモデルを有効にするか否か |
単一 |
省略可能 |
|
USQL_LOCK |
UPDATE文(探索)またはDELETE文(探索)の更新標的レコードを位置づける部分の占有モード |
単一 |
省略可能 |
|
メッセージ |
MSG_LANG(注2) |
表示するメッセージの言語種を設定する |
単一 |
省略可能 |
SQL文実行時にエラーメッセージを表示するか否か |
単一 |
省略可能 |
||
リカバリ |
応用プログラムのリカバリ水準を指定する |
単一 |
省略可能 |
|
予約語 |
応用プログラムの予約語のレベルを設定する |
単一 |
省略可能 |
|
並列クエリ |
データベースを並列に検索する場合の多重度 |
単一 |
省略可能 |
|
アプリケーション単位またはコネクション単位に、データベースを並列に検索するか否か |
単一 |
省略可能 |
||
その他 |
表の設計変更により表の列を変更した場合、応用プログラムへの影響をチェックするか否か |
単一 |
省略可能 |
|
アーカイブログ満杯時にエラー復帰するか否か |
単一 |
省略可能 |
||
SIGNAL_INF(注4) |
シグナルを応用プログラムで利用するか否か |
単一 |
省略可能 |
注1) RDA接続(SERVER_SPECでRDAを指定)の場合のみ指定可能。
注2) Windowsでのみ使用可能。
注3) アクセスプランおよび性能情報に関する実行パラメタです。詳細については、“SQLTOOLユーザーズガイド”を参照してください。
注4) UNIX系でのみ使用可能。
備考. RDA接続でも有効になるのは、以下のパラメタです。
BUFFER_SIZE
DEFAULT_CONNECTION
SERVER_SPEC
TRAN_SPEC
WAIT_TIME
DESC_NUM
DESCRIPTOR_SPEC
MAX_SQL
CHARACTER_TRANSLATE
RDA_CONV_CODE
COREFILE_PATH
SET_CALLBACK
SQL_SNAP
MSG_LANG
MSG_PRINT
BUFFER_SIZE = ([初期量][,拡張量])
通信に利用するバッファサイズを指定します。単位はキロバイトです。
CLUSTER_SERVICE_NAME = (クラスタサービス名)
PRIMECLUSTERまたはSafeCLUSTERと連携する場合、応用プログラムが登録されている、クラスタシステム上のクラスタサービス名を指定します。
DEFAULT_CONNECTION = (SQLサーバ名[,認可識別子,パスワード])
以下の場合のサーバとの結合情報を指定します。
応用プログラムにCONNECT文を記述しない場合
CONNECT文にキーワード“DEFAULT”を指定した場合
CONNECT文のユーザ指定を省略した場合
結合するデータベースに対して、ローカルアクセスかリモートアクセスかによって、指定形式が異なります。
ローカルアクセスの場合
DEFAULT_CONNECTION = ([RDBシステム名.]データベース名)
リモートアクセスの場合
DEFAULT_CONNECTION = (SQLサーバ名,認可識別子,パスワード)
ローカルアクセスの場合は、実行時のログイン名および実行時のパスワードが使用されます。
ログイン名およびパスワードは、各サーバでは以下のように扱われます。
UNIX系の場合
Windows 2000およびWindows Server 2003の場合
グローバルサーバの場合
SERVER_ENV_FILE = (SQLサーバ名,ファイル名)
使用するサーバ用の動作環境ファイル名を指定します。コネクション(データベース環境)ごとにサーバの応用プログラム実行環境を変更する場合に指定します。
SERVER_SPEC = (通信方法,SQLサーバ名[,[データ資源名][,[ホスト名][,[ポート番号]]]])
CONNECT文でSQLサーバ名を指定した場合、サーバとの通信状態を確立するために必要な情報を記述します。このため、CONNECT文で接続するSQLサーバ名は、応用プログラムの実行時にすべてSERVER_SPECに記述しておく必要があります。ローカルのデータベースだけにアクセスする場合は、この実行パラメタは指定しません。
なお、通信方法によって、記述形式が異なります。
性能を重視した通信(RDB2_TCP)の場合
SERVER_SPEC = (RDB2_TCP,SQLサーバ名,データ資源名,ホスト名,ポート番号)
グローバルサーバへの通信(RDA)の場合
SERVER_SPEC = (RDA,SQLサーバ名,データ資源名,ホスト名,ポート番号)
RDB2_TCP: データベースシステムへダイレクトに結合する。
RDA : RDA-SVを経由してグローバルサーバのデータベースシステムと結合する。
通信方法がRDB2_TCPの場合、システム用の動作環境ファイルにおいて、MAX_CONNECT_TCPを必ず設定してください。また、ポート番号の詳細については、UNIX系の場合は“セットアップガイド”を、Windowsの場合は“RDB管理者ガイド”を参照してください。
通信方法がRDAの場合、データ資源名およびポート番号の詳細については、利用するサーバに対応した“RDA-SVオペレーションガイド”を参照してください。
なお、Linuxの場合、RDAでの通信はできません。
TRAN_SPEC = ({NONE | TRANSACTION_ROLLBACK})
SQL文が実行中にエラーとなった場合のトランザクションの対処方法を指定します。省略した場合は、NONEが指定されたものとみなします。
TRAN_TIME_LIMIT = (最大トランザクション実行時間)
1つのトランザクションで使用可能な時間を指定します。
WAIT_TIME = (待ち時間)
サーバからのデータ受信の待ち時間を指定します。
WAIT_TIMEで指定された時間内に、サーバからのデータが受信できなかった場合には、実行中のSQL文はエラーとなり、コネクションは切断されます。0を指定した場合は、データが受信できるまで待ちます。単位は秒です。
なお、本実行パラメタは、トランザクションモニタ配下では指定できません。
DESC_NUM = (列数)
応用プログラムの1つのSQL文で処理する最大列数を、1〜32767の範囲で指定します。省略した場合は、1000が指定されたとみなします。
DESC_NUMは、SERVER_SPECの通信方法にRDAを設定した場合のみ指定できます。
DESCRIPTOR_SPEC = (WITH MAX省略値)
動的SQLのSQL記述子の情報を指定します。
MAX_SQL = (SQL文の数)
同一トランザクション内で指定できるSQL文の数を、2〜32000の範囲で指定します。省略した場合は、32が指定されたとみなします。ただし、RDA接続の場合は、指定できる最大値は32です。
MAX_SQLの値を拡張して使用した場合、以下の考慮が必要です。
Symfoware/RDBでは、同一SQL文を繰り返し実行する場合の処理効率を図るため、SQL文を実行するための情報の個数をMAX_SQLに指定します。また、SQL文の処理手順を格納するOPLバッファのサイズを、OPL_BUFFER_SIZEに指定します。
情報の保持数がMAX_SQLに指定した値を超えた場合、SQL文の実行情報は、古い情報から破棄されます。ただし、PREPARE文で準備されているSQL文およびオープン中のカーソルの情報は破棄できません。SQL文とSQL文情報の保持期間の関係を以下に示します。
SQL文の種類 |
SQL文情報の保持期間 |
|
---|---|---|
動的SQL文 |
カーソル系 |
PREPARE文でSQL文が準備されてから、DEALLOCATE PREPARE文でSQL文が破棄されるまで |
非カーソル系 |
||
静的SQL文 |
カーソル系 |
OPEN文が実行されてからカーソルがクローズされるまで |
非カーソル系 |
SQL文が実行されている間 |
したがって、MAX_SQLには、以下の数の総和を指定してください。
PREPARE文で準備しているSQL文の数
同時にオープン中のカーソルの数
保持しておきたい静的SQL文の数
OPL_BUFFER_SIZE = (バッファサイズ)
Symfoware/RDBでは、同一SQL文を複数回実行するときに、最初の実行で作成した処理手順を使用することによって処理効率の向上を図っています。本パラメタは、このSQLの処理手順を格納するバッファのサイズを1〜1280000で指定します。単位はキロバイトです。省略した場合は、256が指定されたとみなします。この領域は、サーバ側で獲得されます。
MAX_SQLの値を拡張した場合は、OPL_BUFFER_SIZEの値も変更する必要があります。以下の方法で見積もった値をキロバイト単位で指定してください。
SQLの処理手順を格納するバッファのサイズ = 0.7KB + Σ アクセス対象の表単位のSQL処理手順サイズ アクセス対象の表単位のSQL処理手順サイズ = 4.2KB + Σ SQL文単位のSQL処理手順サイズ SQL文単位のSQL処理手順サイズ = 0.17KB × 列数 + 0.08KB × 条件数 |
アクセス対象の表単位のSQL処理手順サイズ
アクセス対象の表単位のSQL処理手順サイズの総和です。アクセス対象の表単位のSQL処理手順サイズを求め、それらを合計します。
SQL文単位のSQL処理手順サイズ
当該表をアクセスするSQL文単位のSQL処理手順サイズの総和です。当該表をアクセスするSQL文単位のSQL処理手順サイズを求め、それらを合計します。
列数
当該SQL文に記述する列の数です。列に“*”を記述する場合は、表を構成する列の数になります。
条件数
当該SQL文に記述する条件(述語)の数です。
RESULT_BUFFER = ([個数][,バッファサイズ])
Symfoware/RDBでは、FETCH文によってデータを取り出すときの性能を良くするため、複数の行を一度に取り出します。この行を格納するバッファの数とサイズを指定します。バッファサイズを大きくするほど、FETCHの性能が良くなります。また、1つのカーソルが1つのバッファを使用するので、複数のバッファを用意すれば、複数のカーソルの操作の性能を良くすることができます。バッファを使用しない場合は、個数に0を指定します。単位はキロバイトです。この領域は、クライアント側とサーバ側で獲得されます。
SORT_MEM_SIZE = (メモリサイズ)
ソート処理のために作業用ソート領域としてサーバ側で使用するメモリの大きさを、64〜2097150の範囲で指定します。単位はキロバイトです。省略した場合は、システム用の動作環境ファイルにおけるSORT_MEM_SIZEの指定に従います。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。
WORK_ALLOC_SPACESIZE = ([初期量][,[増分量][,[最大量]]])
作業用ソート領域および作業用テーブルとしてサーバ側で使用するファイルサイズの初期量、増分量、最大量を指定します。単位はキロバイトです。
初期量、増分量、最大量のいずれかの値が省略された場合は、その値のデフォルト値が指定されたものとみなします。
以下に指定例を示します。
例1:初期量、増分量を指定する場合
WORK_ALLOC_SPACESIZE = (10000,50000)
例2:増分量、最大量を指定する場合
WORK_ALLOC_SPACESIZE = (,50000,100000)
WORK_MEM_SIZE = (メモリサイズ)
作業用テーブルとしてサーバ側で使用するメモリのサイズを64〜2097150の範囲で指定します。単位はキロバイトです。省略した場合は、システム用の動作環境ファイルにおけるWORK_MEM_SIZEの指定に従います。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。
WORK_PATH = (ワークパス名[,ワークパス名]・・・)
サーバ側で使用する作業用ソート領域および作業用テーブルとして、サーバ側での獲得先ディレクトリを指定します。
省略した場合は、システム用の動作環境ファイルにおけるWORK_PATHの指定に従います。
CAL_ERROR = ({REJECT | NULL})
代入処理でオーバフローが発生した場合の処理を指定します。省略した場合は、REJECTが指定されたとみなします。
CHARACTER_TRANSLATE = ({CLIENT | SERVER})
データベースシステムの文字コード系が、応用プログラムで使用している文字コード系と異なる場合、コード変換をクライアントで行うか、サーバで行うかを指定します。省略した場合は、SERVERが指定されたとみなします。サーバの負荷を少しでも減らしたい場合は、クライアントで行うよう指定します。
Windows Meから、文字コード系がUNICODEのデータベースを参照する場合、サーバ側でUNICODEのデータをSJISにコード変換する必要があります。このときはSERVERを指定してください。
LinuxクライアントでSQL埋込みホストプログラムを使用している場合で、かつアプリケーション起動時に環境変数LANGにja_JP.UTF-8が指定されている環境では、以下のデータベースに接続する場合にはCLIENTを指定する必要があります。
CHAR_SET = ({EUC|SJIS|UTF8})
応用プログラムのホスト変数内文字列で使用するデータの文字コード系を指定します。
応用プログラムをC言語で記述している場合で、かつ実行時のシステムのコード系がEUCの場合は、EUC、UTF8またはSJISを指定します。省略値は“EUC”です。実行時のシステムのコード系がシフトJISの場合は、EUC、UTF8またはSJISを指定します。省略値は“SJIS”です。実行時のシステムのコード系がUNICODEの場合は、EUC、UTF8またはSJISを指定します。省略値は“UTF8”です。
UNIX系システムにおいて、応用プログラムをCOBOLで記述している場合は、どれを指定しても、実行時のシステムのコード系により以下のようになります。
実行時のシステムのコード系がEUCの場合はEUC
実行時のシステムのコード系がシフトJISの場合はSJIS
実行時のシステムのコード系がUNICODEの場合はUTF8
Windows Me、Windows 2000、Windows XPおよびWindows Server 2003において、応用プログラムをCOBOLで記述している場合は、文字コードはコンパイル時のオプションに依存します。
UNICODEは、Symfoware Server Enterprise Extended Edition、Symfoware Server Enterprise EditionおよびSymfoware Server Standard Editionで使用できます。
NCHAR_CODE = ({EUC|COBOL_EUC|UTF8|UCS2|UCS2B|SJIS})
応用プログラムのホスト変数内日本語文字列で使用するデータの文字コード系を指定します。この実行パラメタは、ホスト変数の属性がNCHAR型の日本語文字列型である場合のみ有効です。
応用プログラムをC言語で記述している場合の、CHAR_SETとNCHAR_CODEの関係を以下に示します。
実行時のシステムのコード系 |
CHAR_SET(ホスト変数内文字列のデータのコー ド指定) |
NCHAR_CODE(ホスト変数内日本語文字列のデータのコード指定) |
---|---|---|
EUC |
EUC(デフォルト) |
EUC(デフォルト) |
COBOL_EUC |
||
UTF8 |
UTF8(デフォルト) |
|
UCS2 |
||
UCS2B |
||
SJIS |
SJIS(デフォルト) |
|
シフトJIS |
EUC |
EUC(デフォルト) |
COBOL_EUC |
||
UTF8 |
UTF8(デフォルト) |
|
UCS2 |
||
UCS2B |
||
SJIS(デフォルト) |
SJIS(デフォルト) |
日本語文字の使用方法については、“日本語文字の使用方法”を参照してください。
UNIX系システムにおいて、応用プログラムをCOBOLで記述している場合は、どれを指定しても、実行時のシステムのコード系により以下のようになります。
実行時のシステムのコード系がEUCの場合はCOBOL_EUC
実行時のシステムのコード系がシフトJISの場合はSJIS
Windows Me、Windows 2000、Windows XPおよびWindows Server 2003において、応用プログラムをCOBOLで記述している場合は、文字コードはコンパイル時のオプションに依存します。
UNICODEは、Symfoware Server Enterprise Extended Edition、Symfoware Server Enterprise EditionおよびSymfoware Server Standard Editionで使用できます。
RDA_CONV_CODE=({EBCDIC_KANA | EBCDIC_EIJI | EBCDIC_ASCII})
動作環境ファイルの実行パラメタCHARACTER_TRANSLATEの指定でCLIENTを指定した場合、利用者が扱いたい文字コード系を指定します。省略した場合は、EBCDIC_KANAが指定されたとみなします。
CHARACTER_TRANSLATEでSERVERを指定した場合、このパラメタは無効になります。
RDA_CONV_CODEは、サーバがグローバルサーバの場合だけ指定できます。
DEFAULT_DSI_TYPE = {SEQUENTIAL | OBJECT}
格納構造定義を簡略化した表を定義する場合に、Symfoware/RDBが自動的に生成する表のDSOの格納構造を選択します。本パラメタにより格納構造の選択ができるのは、表の形式が以下の条件をすべて満たしている場合のみです。
表の最後に1つだけ、BLOB型でサイズに32キロバイト以上を指定している場合
BLOB型以外の列は固定長属性の場合
BLOB型の列にNOT NULL制約を指定している場合
上記以外の場合は、表のDSOはSEQUENTIAL型となります。
DEFAULT_INDEX_SIZE = (ベース部ページ長,インデックス部ページ長,ベース部初期量,インデックス部初期量[,拡張量,拡張契機])
動的SQLを使用して格納構造定義を簡略化したインデックスを定義する場合、インデックスのベース部とインデックス部の割付け量、ページ長などを指定します。単位はキロバイトです。この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるDEFAULT_INDEX_SIZEの指定に従います。
DEFAULT_OBJECT_TABLE_SIZE = (ページ長,初期量[,拡張量,拡張契機])
動的SQLを使用して格納構造定義を簡略化した表を定義する場合、OBJECT構造の表のデータ格納域の割付け量、ページ長などを指定します。単位はキロバイトです。この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるDEFAULT_OBJECT_TABLE_SIZEの指定に従います。
DEFAULT_TABLE_SIZE = (ページ長,初期量[,拡張量,拡張契機])
動的SQLを使用して格納構造定義を簡略化した表を定義する場合、表のデータ格納域の割付け量、ページ長などを指定します。単位はキロバイトです。この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるDEFAULT_TABLE_SIZEの指定に従います。
DSI_EXPAND_POINT=({ON | OFF})
応用プログラムによるデータ操作で、DSIに指定された拡張契機(rdbalmdsiコマンドで定義します)を無効とするか否かを指定します。省略した場合、ONが指定されたとみなします。
INCLUSION_DSI = (データベース名.DSI名[,データベース名.DSI名・・・])
応用プログラムで、DSIを限定したい表のDSI名を指定します。
応用プログラムでは、限定されたDSIを含む表に対しては、そのDSIだけがデータ操作の範囲となります。また、本実行パラメタの指定により、応用プログラム中での探索条件の記述が省略ができます。なお、応用プログラムでDSIを限定していない表に対しては、データ操作をすることができます。
TEMPORARY_INDEX_SIZE = (ベース部初期量,インデックス部初期量[,拡張量,拡張契機])
一時表にインデックスを定義する場合に、インデックスのベース部とインデックス部の割付け量を指定します。単位はキロバイトです。この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるTEMPORARY_INDEX_SIZEの指定に従います。
TEMPORARY_TABLE_SIZE = (初期量[,拡張量,拡張契機])
一時表を定義する場合に、表のデータ格納域の割付け量を指定します。単位はキロバイトです。この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるTEMPORARY_TABLE_SIZEの指定に従います。
DSO_LOCK = (DSO名[/[P][{占有モード}]][,DSO名[/[P][{占有モード}]]・・・])
応用プログラムで使用するDSOおよびその占有の単位、占有モードを指定します。DSO_LOCKが指定された場合、SET TRANSACTION文は指定できません。
また、システム用およびクライアント用の動作環境ファイルにR_LOCK=YESを指定することはできません。
データベース名.DSO名
EX: 非共有モードの排他を行います。
SH: 共有モードの排他を行います。
ISOLATION_WAIT = ({WAIT | REJECT})
あるトランザクションで資源にアクセスしようとしたとき、別のトランザクションがその資源を占有していた場合に、資源の占有が解除されるまで待つか否かを指定します。省略した場合は、WAITが指定されたとみなします。
R_LOCK = ({YES | NO})
占有の単位を行とするかどうかを指定します。省略した場合は、システム用の動作環境ファイルにおけるR_LOCKの指定に従います。
動作環境ファイルのR_LOCKを省略して、SET TRANSACTION文を省略またはSET TRANSACTION文の独立性水準にREPEATABLE READを指定した場合は、ISOLATION LEVEL SERIALIZABLEとなります。動作環境ファイルにR_LOCK=YESを指定して、SET TRANSACTION文を省略またはSET TRANSACTION文の独立性水準にSERIALIZABLEを指定した場合は、ISOLATION LEVEL REPEATABLE READとなります。
COREFILE_PATH = (絶対パス名)
応用プログラムで異常が発生した場合のダンプ出力先ディレクトリを指定します。省略した場合は、カレントディレクトリに出力します。
DIV_TRACE_FILE = ({YES | NO})
複数の応用プログラムが動作する場合、出力ファイル名(SQL_SNAP機能やROUTINE_SNAP機能によって出力されるファイル、および、アクセスプラン情報やSQL性能情報を取得するファイル)の後ろに、プロセスIDなどの情報を付加して個別のトレース情報を出力するか否かを指定します。省略した場合は、NOが指定されたとみなします。
ログイン名
プロセスID
セション開始時間
出力ファイル名をsqlsnap.lstとし、ログイン名がtest、プロセスIDが288、セション開始時間が2000年6月16日12時34分56秒であるとした場合、以下のファイルに情報が出力されます。
sqlsnap_test_288_20000616123456.lst
応用プログラムがマルチスレッド環境で動作する場合は、DIV_TRACE_FILEの指定に関係なく、自動的に以下の情報を出力ファイル名の後に付加して、個別のトレース情報を出力します。
ログイン名
プロセスID
セションID
セション開始時間
ROUTINE_SNAP = ({ON | OFF},ルーチンスナップファイル名[,出力レベル])
ROUTINE_SNAP機能を利用するかどうかを指定します。省略した場合は、OFFが指定されたとみなします。
ROUTINE_SNAP機能は、SQL手続き文の実行情報をファイルに出力する機能です。ROUTINE_SNAP機能の詳細および使用方法については、“応用プログラムのデバッグ”を参照してください。
複数の応用プログラムが動作する場合は、クライアント用の動作環境ファイルの実行パラメタ(DIV_TRACE_FILE)の指定により、出力ファイル名の後にプロセスIDなどの情報を付加して、個別のトレース情報を出力します。
応用プログラムがマルチスレッド環境で動作する場合は、DIV_TRACE_FILEの指定に関係なく、出力ファイル名の後にプロセスIDやセションIDなどの情報を自動的に付加して、個別のトレース情報を出力します。
SET_CALLBACK = (ライブラリ名)
動的ライブラリを使用してコールバック関数を登録する場合、動的ライブラリ名を指定します。
動的ライブラリ名が絶対パスでの指定でない場合は、以下のディレクトリにライブラリを格納する必要があります。
UNIX系の場合は、環境変数LD_LIBRARY_PATHに指定したディレクトリ
Windowsの場合は、PATHに指定したディレクトリ
SQL_SNAP = ({ON | OFF}[,[スナップファイル名][,[出力レベル][,[繰り返し幅]]]])
SQL_SNAP機能を利用するかどうかを指定します。省略した場合は、OFFが指定されたとみなします。
SQL_SNAP機能は、応用プログラムが実行したSQL文の情報をファイルに出力する機能です。SQL_SNAP機能の詳細および使用方法については、“応用プログラムのデバッグ”を参照してください。
複数の応用プログラムが動作する場合は、クライアント用の動作環境ファイルの実行パラメタ(DIV_TRACE_FILE)の指定により、出力ファイル名の後にプロセスIDなどの情報を付加して、個別のトレース情報を出力します。
応用プログラムがマルチスレッド環境で動作する場合は、DIV_TRACE_FILEの指定に関係なく、出力ファイル名の後にプロセスIDやセションIDなどの情報を自動的に付加して、個別のトレース情報を出力します。
以下の実行パラメタは、アクセスプランおよび性能情報に関する実行パラメタです。詳細については、“SQLTOOLユーザーズガイド”を参照してください。
ACCESS_PLAN
IGNORE_INDEX
JOIN_ORDER
JOIN_RULE
SORT_HASHAREA_SIZE
SQL_TRACE
SS_RATE
TID_SORT
TID_UNION
USQL_LOCK
MSG_LANG = ({JAPANESE | ENGLISH})
メッセージを表示するときの言語種を指定します。
MSG_PRINT = ({ON | OFF})
SQL文実行時に、エラーメッセージを標準エラー出力に出力するか否かを指定します。省略した場合は、OFFが指定されたとみなします。
RCV_MODE = ({RCV | NRCV})
応用プログラムのリカバリ水準を指定します。省略した場合はRCVが指定されたとみなします。
SQL_LEVEL = ({SQL88 | SQL92 | SQL95 | SQL96 | SQL2000})
応用プログラムの予約語のレベルを設定します。省略した場合は、SQL2000が指定されたとみなします。
予約語のレベルを設定することで、キーワードの範囲を変更できます。
ファンクションルーチンおよびロールを利用する場合は、SQL2000が指定されていなければなりません。
プロシジャルーチンで、条件宣言、ハンドラ宣言、SIGNAL文およびRESIGNAL文を利用する場合は、SQL2000が指定されていなければなりません。これらを利用しないプロシジャルーチンの場合は、SQL95、SQL96またはSQL2000のいずれかを指定します。
トリガ、行識別子または並列指定を利用する場合は、SQL96またはSQL2000を指定します。
翻訳時にRオプションまたはWオプションで予約語のレベルが指定されていた場合も、本パラメタで指定された値が有効となります。
各予約語のレベルにおけるキーワードについては、“SQLリファレンスガイド”を参照してください。
MAX_PARALLEL = (多重度)
SQL文でデータベースを並列に検索する場合の多重度を2〜100の範囲で指定します。省略した場合は、システム用の動作環境ファイルにおけるMAX_PARALLELの指定に従って並列検索(並列クエリ)を行います。SQL文でデータベースを並列に検索できるのは、単一行SELECT文またはカーソル宣言で並列指定を指定した場合です。表のDSIの数が、指定した多重度よりも少ない場合は、DSIの数を多重度として並列検索を行います。
PARALLEL_SCAN = ({YES | NO})
アプリケーション単位またはコネクション単位に、データベースを並列に検索する(並列クエリ)か否かを指定します。省略した場合は、NOが指定されたとみなします。
表がDSI分割されていない、または1つのDSIに対するアクセスの場合
クラスタキーを利用したデータベースアクセスが可能な場合
探索条件にROW_IDを指定した検索の場合
インデックスを利用したデータベースアクセスが可能な場合
ALTER_CHECK=({YES | NO})
表の設計変更により表の列を変更した場合に、応用プログラムに影響があるか否かをチェックします。省略した場合はNOが指定されたとみなします。
本実行パラメタは、Symfoware Server Enterprise Extended Edition を使用した場合のみ指定できます。
ARC_FULL = ({RETURN | WAIT})
アーカイブログファイルが満杯状態になったとき、エラー復帰するか否かを指定します。省略した場合は、システム用の動作環境ファイルにおけるARC_FULLの指定に従います。
“WAIT”を指定した場合、空きのアーカイブログファイルが作成されるまで応用プログラムは無応答状態となりますので注意してください。また、本実行パラメタの指定が互いに異なる複数の応用プログラムが、同時に同じDSIを扱うような運用はしないでください。例えば、以下の事象が発生する場合があります。
トランザクションAは、ARC_FULL=RETURNを設定し、アーカイブログ満杯の状態であるとします。トランザクションBは、ARC_FULL=WAITを設定し、アーカイブログ満杯の状態で資源を占有しているとします。このとき、トランザクションBは、空きのアーカイブログファイルが作成されるまで待ちます。同じ資源にアクセスしているトランザクションAは、トランザクションBの終了を待つため、ARC_FULL=RETURNを設定しているにもかかわらず、無応答状態になります。
この場合は、rdblkinfコマンドの-lオプションやrdblogコマンドの-Vオプションかつ-aオプションで排他やアーカイブログの状況を確認できます。また、アーカイブログに関する以下のシステムメッセージが表示されます。これらの情報をもとに、バックアップ可能なアーカイブログファイルをバックアップするか、または新規にアーカイブログファイルを追加して対処してください。
qdg13336w:RDB:WARNING 転送可能なアーカイブログ域が不足しています.
qdg03132u:RDB:ERROR アーカイブログファイルが満杯です.
SIGNAL_INF = ({YES | NO})
UNIX系システムにおいて、シグナルを応用プログラムで利用するか否かを設定します。省略した場合は、YESが指定されたとみなします。
なお、本実行パラメタは、トランザクションモニタ配下の応用プログラムでは指定しないでください。
目次 索引 |