Symfoware Server アプリケーション開発ガイド(埋込みSQL編) - FUJITSU - |
目次 索引 |
第6章 アプリケーションの実行 | > 6.4 アプリケーションのチューニング |
クライアント用の動作環境ファイルはアプリケーション起動時に読み込まれます。
クライアント用の動作環境ファイルのパラメタをチューニングする場合は、クライアント用の動作環境ファイルを編集後、アプリケーションを再起動する必要があります。
ここでは、クライアント用の動作環境ファイルの定義方法と、定義する実行パラメタの種類、記述形式および意味について説明します。
ここでは、クライアント用の動作環境ファイルの定義方法を説明します。クライアント用の動作環境ファイルの定義は、以下の作業を順番に行います。
動作環境ファイルのひな型を複写する
実行パラメタを設定する
動作環境ファイルは、動作環境ファイルのひな型をアプリケーション実行時のカレントディレクトリなどに複写して作成します。なお、作成した動作環境ファイルを指定する方法の詳細は、“アプリケーションの起動(UNIX系の場合)”または“アプリケーションの起動(Windows(R)の場合)”を参照してください。
動作環境ファイルのひな型のファイル名と格納ディレクトリを以下に示します。
利用する製品名 |
OS |
ディレクトリ |
ファイル名 |
---|---|---|---|
Symfoware Server |
/opt/FSUNrdb2b/demo |
fssqlenvc |
|
/opt/FJSVrdb2b/demo |
fssqlenvc |
||
製品のインストール先ディレクトリ\ESQL\ETC |
SQLRT.ENV |
||
Symfoware Server クライアント機能 |
/opt/FSUNrdb2b/demo |
fssqlenvc |
|
/opt/FJSVrdb2b/demo |
fssqlenvc |
||
製品のインストール先ディレクトリ\ESQL\ETC |
SQLRT.ENV |
特にチューニングしない場合は、以下の推奨値を指定してください。
パラメタ名 |
推奨値 |
---|---|
RESULT_BUFFER |
2, 32 |
MAX_SQL |
256 |
実行パラメタは、テキスト形式の動作環境ファイルに汎用エディタを利用して設定してください。
動作環境ファイルに実行パラメタを設定した例を以下に示します。
クライアント用の動作環境ファイルには、アプリケーションの実行に必要な環境情報として実行パラメタを記述します。
実行パラメタは、以下に示す種類があります。
分類 |
実行パラメタ |
概要 |
記述数 |
記述の省略 |
---|---|---|---|---|
通信 |
通信に利用するバッファ(クライアント側)のサイズ |
単一 |
省略可能 |
|
アプリケーションをフェイルオーバ運用で実行する場合に必要な情報 |
単一 |
省略可能 |
||
サーバとの結合情報のデフォルト |
単一 |
CONNECT文にDEFAULTを指定する場合は省略不可。 |
||
使用するサーバ用の動作環境ファイル名 |
複数可 |
省略可能 |
||
リモートのサーバと通信するための情報 |
複数可 |
リモートのデータベースにアクセスする場合省略不可。ローカルの場合は指定できない。 |
||
SQLエラー発生時のトランザクション |
単一 |
省略可能 |
||
1つのトランザクションの最大使用可能時間 |
単一 |
省略可能 |
||
通信時の待ち時間 |
単一 |
省略可能 |
||
作業領域など |
DESC_NUM(注1) |
アプリケーションで利用できる最大列数 |
単一 |
省略可能 |
動的SQLのSQL記述子の情報 |
単一 |
省略可能 |
||
同時に操作できるSQL文の数 |
単一 |
省略可能 |
||
SQL文の実行手順を格納しておくバッファのサイズ |
単一 |
省略可能 |
||
一括FETCHを行う場合のバッファの数とサイズ |
単一 |
省略可能 |
||
作業用ソート領域として使うメモリサイズ |
単一 |
省略可能 |
||
作業用テーブルおよび作業用ソート領域として使用するファイルサイズ |
単一 |
省略可能 |
||
作業用テーブルとして使うメモリのサイズ |
単一 |
省略可能 |
||
作業用テーブルおよび作業用ソート領域のパス |
単一 |
省略可能 |
||
データ処理 |
代入処理でオーバフローが起きた場合の処理 |
単一 |
省略可能 |
|
文字コードの変換をクライアントで行うか否か |
単一 |
省略可能 |
||
アプリケーション中の文字のコード |
単一 |
省略可能 |
||
アプリケーション中の日本語文字のコード |
単一 |
省略可能 |
||
表・インデックス |
格納構造定義を簡略化した表を定義する場合、Symfoware/RDBが自動的に生成する表のDSOの格納構造の選択 |
単一 |
省略可能 |
|
格納構造定義を簡略化したインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量、ページ長など |
単一 |
省略可能 |
||
格納構造定義を簡略化した表を定義する場合のOBJECT構造の表のデータ格納域の初期量、拡張量、ページ長など |
単一 |
省略可能 |
||
格納構造定義を簡略化した表を定義する場合の表のデータ格納域の初期量、拡張量、ページ長など |
単一 |
省略可能 |
||
DSIの容量拡張を起動するか否か |
単一 |
省略可能 |
||
アプリケーションで使用するDSIを限定する |
単一 |
省略可能 |
||
一時表にインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量など |
単一 |
省略可能 |
||
一時表を定義する場合の表のデータ格納域の初期量、拡張量など |
単一 |
省略可能 |
||
排他 |
使用するDSOの占有の単位、占有モード |
単一 |
省略可能 |
|
占有待ちの方式 |
単一 |
省略可能 |
||
占有の単位を行とする |
単一 |
省略可能 |
||
トランザクション |
トランザクションアクセスモードの初期値を指定する |
単一 |
省略可能 |
|
独立性水準の初期値を指定する |
単一 |
省略可能 |
||
デバッグ |
アプリケーションで異常が発生した場合のダンプ出力先 |
単一 |
省略可能 |
|
複数プロセス配下でアプリケーションが動作している場合、個別のトレース情報を出力するか否か |
単一 |
省略可能 |
||
ROUTINE_SNAP機能を利用するか否か |
単一 |
省略可能 |
||
コールバック関数の動的登録機能を利用するか否か |
単一 |
省略可能 |
||
SQL_SNAP機能を利用するか否か |
単一 |
省略可能 |
||
アクセスプランおよび性能情報(注2) |
ACCESS_PLAN |
アプリケーション単位でアクセスプランを取得するか否かおよびSQL文に対するアドバイスを出力するか否か |
単一 |
省略可能 |
IGNORE_INDEX |
インデックスを使用しないアクセスプランを選択するか否か |
単一 |
省略可能 |
|
JOIN_ORDER |
結合表と他の表のジョイン順 |
単一 |
省略可能 |
|
JOIN_RULE |
ジョインする方法 |
単一 |
省略可能 |
|
SCAN_KEY_ARITHMETIC_RANGE |
四則演算の検索範囲について、インデックスの範囲検索またはクラスタキーの検索を行うか否か |
単一 |
省略可能 |
|
SCAN_KEY_CAST |
探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行うか否か |
単一 |
省略可能 |
|
SORT_HASHAREA_SIZE |
ソート処理がレコードをハッシングして格納するための領域サイズ |
単一 |
省略可能 |
|
SQL_TRACE |
アプリケーション単位でSQL性能情報を取得するか否か |
単一 |
省略可能 |
|
SS_RATE |
述語ごとの検索範囲の選択率の値 |
単一 |
省略可能 |
|
TID_SORT |
インデックス検索と表データ取得のアクセスモデルTIDソートを利用するか否か |
単一 |
省略可能 |
|
TID_UNION |
TIDユニオンマージのアクセスモデルを有効にするか否か |
単一 |
省略可能 |
|
USQL_LOCK |
UPDATE文:探索またはDELETE文:探索の更新標的レコードを位置づける部分の占有モード |
単一 |
省略可能 |
|
メッセージ |
表示するメッセージの言語種を設定する |
単一 |
省略可能 |
|
SQL文実行時にエラーメッセージを表示するか否か |
単一 |
省略可能 |
||
リカバリ |
アプリケーションのリカバリ水準を指定する |
単一 |
省略可能 |
|
予約語 |
アプリケーションの予約語のレベルを設定する |
単一 |
省略可能 |
|
並列クエリ |
データベースを並列に検索する場合の多重度 |
単一 |
省略可能 |
|
アプリケーション単位またはコネクション単位に、データベースを並列に検索するか否か |
単一 |
省略可能 |
||
その他 |
表の設計変更により表の列を変更した場合、アプリケーションへの影響をチェックするか否か |
単一 |
省略可能 |
|
アーカイブログ満杯時にエラー復帰するか否か |
単一 |
省略可能 |
||
シグナルをアプリケーションで利用するか否か |
単一 |
省略可能 |
注1) RDA接続(SERVER_SPECでRDAを指定)の場合のみ指定可能。
注2) アクセスプランおよび性能情報に関する実行パラメタです。
詳細については、“SQLTOOLユーザーズガイド”を参照してください。
備考. RDA接続でも有効になるのは、以下のパラメタです。
BUFFER_SIZE
DEFAULT_CONNECTION
SERVER_SPEC
TRAN_SPEC
WAIT_TIME
DESC_NUM
DESCRIPTOR_SPEC
MAX_SQL
CHARACTER_TRANSLATE
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サーバ名,認可識別子,パスワード)
ローカルアクセスの場合は、実行時のログイン名および実行時のパスワードが使用されます。
ログイン名およびパスワードは、各サーバでは以下のように扱われます。
SERVER_ENV_FILE = (SQLサーバ名,ファイル名)
使用するサーバ用の動作環境ファイル名を指定します。コネクション(データベース環境)ごとにサーバのアプリケーション実行環境を変更する場合に指定します。
SERVER_SPEC = (通信方法,SQLサーバ名[,[データ資源名][,[ホスト名][,[ポート番号][,[接続サーバ種別]]]]])
CONNECT文でSQLサーバ名を指定した場合、サーバとの通信状態を確立するために必要な情報を記述します。このため、CONNECT文で接続するSQLサーバ名は、アプリケーションの実行時にすべてSERVER_SPECに記述しておく必要があります。ローカルのデータベースだけにアクセスする場合は、この実行パラメタは指定しません。
なお、通信方法によって、記述形式が異なります。
性能を重視したRDB2_TCP連携の場合
SERVER_SPEC = (RDB2_TCP,SQLサーバ名,データ資源名,ホスト名,ポート番号,接続サーバ種別)
OSIの汎用プロトコルを使用したRDA-SV連携の場合
SERVER_SPEC = (RDA,SQLサーバ名,データ資源名,ホスト名,ポート番号)
RDB2_TCP: データベースシステムへダイレクトに結合する。
RDA : RDA-SVを経由してデータベースシステムと結合する。
OPEN: Solaris、Linux、Windows(R)上のSymfoware/RDBと接続する場合に指定します。
GS: グローバルサーバ上のSymfoware/RDBと接続する場合に指定します。
通信方法がRDB2_TCPの場合、システム用の動作環境ファイルにおいて、MAX_CONNECT_TCPを必ず設定してください。
ポート番号の詳細については、“セットアップガイド”を参照してください。通信方法がRDAの場合、データ資源名およびポート番号の詳細については、利用するサーバに対応した“RDA-SVオペレーションガイド”を参照してください。
なお、Linuxの場合、RDAでの通信はできません。
TRAN_SPEC = ({NONE | TRANSACTION_ROLLBACK})
SQL文が実行中にエラーとなった場合のトランザクションの対処方法を指定します。省略した場合は、NONEが指定されたものとみなします。
TRAN_TIME_LIMIT = (最大トランザクション実行時間)
1つのトランザクションで使用可能な時間を指定します。
WAIT_TIME = (待ち時間)
サーバからのデータ受信の待ち時間を指定します。
WAIT_TIMEで指定された時間内に、サーバからのデータが受信できなかった場合には、実行中のSQL文はエラーとなり、コネクションは切断されます。0を指定した場合は、データが受信できるまで待ちます。単位は秒です。
なお、本実行パラメタは、トランザクションモニタ配下では指定できません。
Solaris 9上でサーバからのデータ受信の待ち時間を監視したい場合は、通信方法にRDB2_TCPを指定してください。
DESC_NUM = (列数)
アプリケーションの1つのSQL文で処理する最大列数を、1〜32767の範囲で指定します。省略した場合は、1000が指定されたとみなします。
DESC_NUMは、SERVER_SPECの通信方法にRDAを設定した場合のみ指定できます。
DESCRIPTOR_SPEC = (WITH MAX省略値)
動的SQLのSQL記述子の情報を指定します。
ALLOCATE DESCRIPTOR文については、“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を指定します。単位はキロバイトです。この領域は、クライアント側とサーバ側で獲得されます。
2が指定されたとみなします。
0が指定されたとみなします。
32が指定されたとみなします。
1が指定されたとみなします。
SORT_MEM_SIZE = (メモリサイズ)
ソート処理のために作業用ソート領域としてサーバ側で使用するメモリの大きさを、64〜2097150の範囲で指定します。単位はキロバイトです。省略した場合は、システム用の動作環境ファイルにおけるSORT_MEM_SIZEの指定に従います。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。
WORK_ALLOC_SPACESIZE = ([初期量][,[増分量][,[最大量][,[保持指定]]]])
作業用ソート領域および作業用テーブルとしてサーバ側で使用するファイルサイズの初期量、増分量、最大量、保持指定を指定します。単位はキロバイトです。
初期量、増分量、最大量、保持指定のいずれかの値が省略された場合は、その値のデフォルト値が指定されたものとみなします。
以下に指定例を示します。
例1:初期量、増分量を指定する場合
WORK_ALLOC_SPACESIZE = (10000,50000)
例2:増分量、最大量を指定する場合
WORK_ALLOC_SPACESIZE = (,50000,100000)
FREE:初期量として獲得した作業用ソート領域および作業用テーブルの外部ファイルは、DISCONNECT文の実行時に解放します。
拡張量として獲得した作業用ソート領域および作業用テーブルの外部ファイルは、その領域を使用したSQL文の実行完了時に解放します。
HOLD:作業用ソート領域および作業用テーブルとして作成した外部ファイルは、DISCONNECT文の実行時に解放します。
WORK_MEM_SIZE = (メモリサイズ)
作業用テーブルとしてサーバ側で使用するメモリのサイズを64〜2097150の範囲で指定します。単位はキロバイトです。省略した場合は、システム用の動作環境ファイルにおけるWORK_MEM_SIZEの指定に従います。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。
WORK_PATH = (ワークパス名[,ワークパス名]・・・)
サーバ側で使用する作業用ソート領域および作業用テーブルとして、サーバ側での獲得先ディレクトリを指定します。
省略した場合は、システム用の動作環境ファイルにおけるWORK_PATHの指定に従います。
CAL_ERROR = ({REJECT | NULL})
代入処理でオーバフローが発生した場合の処理を指定します。省略した場合は、REJECTが指定されたとみなします。
CHARACTER_TRANSLATE = ({CLIENT | SERVER})
データベースシステムの文字コード系が、アプリケーションで使用している文字コード系と異なる場合、コード変換をクライアントで行うか、サーバで行うかを指定します。省略した場合は、SERVERが指定されたとみなします。サーバの負荷を少しでも減らしたい場合は、クライアントで行うよう指定します。
LinuxクライアントでSQL埋込みホストプログラムを使用している場合で、かつアプリケーション起動時に環境変数LANGにja_JP.UTF-8が指定されている環境では、以下のデータベースに接続する場合にはCLIENTを指定する必要があります。
Symfoware Server Enterprise Extended Edition 6.0.1以前
Symfoware Server Enterprise Edition 6.0.1以前
Symfoware Server Standard Edition 6.0.1以前
Symfoware Server Standard Edition V5.0L10以前
Symfoware Server Enterprise Edition V6.0L10以前
Symfoware Server Standard Edition V6.0L10以前
Symfoware Server for Windows V6.0L10以前
CHAR_SET = ({EUC_S90|EUC_U90|EUC|SJIS|UTF8})
文字列型のホスト変数、文字列型の動的パラメタ、および、SQLMSGの文字コード系を指定します。この指定は、アプリケーションをC言語で記述している場合に有効です。
データベースに格納される文字列型データの文字コード系とCHAR_SETとの関係を以下に示します。
データベースの文字コード系 |
CHAR_SETの指定 |
||||
---|---|---|---|---|---|
EUC_S90 |
EUC_U90 |
EUC |
SJIS |
UTF8 |
|
EUCコードのS90コード |
◎ |
× |
○ |
○ |
|
EUCコードのU90コード |
× |
◎ |
○ |
○ |
|
シフトJISコード |
○ |
○ |
◎ |
○ |
|
UNICODE |
○ |
○ |
○ |
◎ |
◎:指定可能(省略値)
○:指定可能
×:指定不可能
アプリケーションをCOBOLで記述している場合は、本パラメタは無視されます。詳細は、“文字コード系の決定”を参照してください。
NCHAR_CODE = ({EUC_S90|EUC_U90|EUC|COBOL_EUC_S90|COBOL_EUC_U90|COBOL_EUC|SJIS|UTF8|UCS2|UCS2B })
各国語文字列型のホスト変数、各国語文字列型の動的パラメタの文字コード系を指定します。この指定は、アプリケーションをC言語で記述している場合に有効です。
アプリケーションをC言語で記述している場合の、CHAR_SETとNCHAR_CODEの関係を以下に示します。
|
NCHAR_CODEの指定 |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|
CHAR_SETの指定 |
EUC_S90 |
COBOL_EUC_S90 |
EUC_U90 |
EUC |
COBOL_EUC_U90 |
COLBOL_EUC |
SJIS |
UTF8 |
UCS2 |
UCS2B |
EUC_S90 |
◎ |
○ |
× |
× |
× |
|||||
EUC_U90 |
× |
◎ |
○ |
× |
× |
|||||
EUC |
||||||||||
SJIS |
× |
× |
◎ |
× |
||||||
UTF8 |
× |
× |
× |
◎ |
○ |
◎:有効(省略値)
○:有効
×:無効(指定値を無視して省略値になります)
データベースに格納される各国語文字列型データの文字コード系とNCHAR_CODEとの関係を以下に示します。
データベースの文字コード系 |
NCHAR_CODEの指定 |
|||||||||
---|---|---|---|---|---|---|---|---|---|---|
EUC_S90 |
COBOL_EUC_S90 |
EUC_U90 |
EUC |
COBOL_EUC_U90 |
COLBOL_EUC |
SJIS |
UTF8 |
UCS2 |
UCS2B |
|
EUCコードのS90コード |
◎ |
× |
○ |
○ |
||||||
EUCコードのU90コード |
× |
◎ |
○ |
○ |
||||||
シフトJISコード |
○ |
○ |
◎ |
○ |
||||||
UNICODE |
○ |
○ |
○ |
◎ |
◎:指定可能(省略時は、CHAR_SETに設定される値かCHAR_SETの省略値)
○:指定可能
×:指定不可能
アプリケーションをCOBOLで記述している場合は、本パラメタは無視されます。詳細は、“文字コード系の決定”を参照してください。
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文、クライアント用の動作環境ファイルのDEFAULT_ACCESS_MODEおよびDEFAULT_ISOLATIONは指定できません。
なお、動作環境ファイルのR_LOCKの値により、DSO_LOCKを指定できない場合があります。詳細は、“表:DSO_LOCKとR_LOCKの関係”を参照してください。
データベース名.DSO名
EX: 非共有モードの排他を行います。
SH: 共有モードの排他を行います。
ISOLATION_WAIT = ({WAIT | REJECT})
あるトランザクションで資源にアクセスしようとしたとき、別のトランザクションがその資源を占有していた場合に、資源の占有が解除されるまで待つか否かを指定します。省略した場合は、WAITが指定されたとみなします。
R_LOCK = ({YES | NO})
占有の単位を行とするかどうかを指定します。省略した場合は、システム用の動作環境ファイルにおけるR_LOCKの指定に従います。
動作環境ファイルのR_LOCKがNOの場合、動作環境ファイルのDEFAULT_ISOLATIONにREPEATABLE_READを指定、またはSET TRANSACTION文にREPEATABLE READを指定しても、独立性水準はSERIALIZABLEになります。
動作環境ファイルのR_LOCKがYESの場合、動作環境ファイルのDEFAULT_ISOLATIONまたはSET TRANSACTION文にSERIALIZABLEを指定しても、独立性水準はREPEATABLE READになります。
DEFAULT_ACCESS_MODE = ({READ_ONLY | READ_WRITE})
トランザクションアクセスモードの初期値を指定します。DEFAULT_ACCESS_MODEが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。省略した場合は、システム用の動作環境ファイルにおけるDEFAULT_ACCESS_MODEの指定に従います。
DEFAULT_ACCESS_MODEが指定された場合、動作環境ファイルのDSO_LOCKは指定できません。
DEFAULT_ISOLATION = ({DEFAULT | READ_UNCOMMITTED | READ_COMMITTED | REPEATABLE_READ | SERIALIZABLE})
独立性水準の初期値を指定します。DEFAULT_ISOLATIONが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。省略した場合は、DEFAULTが指定されたとみなします。
DEFAULT_ISOLATIONが指定された場合、動作環境ファイルのDSO_LOCKは指定できません。
動作環境ファイルのR_LOCKがNOの場合、DEFAULT_ISOLATIONにREPEATABLE_READを指定しても、独立性水準はSERIALIZABLEになります。
動作環境ファイルのR_LOCKがYESの場合、DEFAULT_ISOLATIONにSERIALIZABLEを指定しても、独立性水準はREPEATABLE READになります。
COREFILE_PATH = (絶対パス名)
アプリケーションで異常が発生した場合のダンプ出力先ディレクトリを指定します。省略した場合は、カレントディレクトリに出力します。
DIV_TRACE_FILE = ({YES | NO})
複数のアプリケーションが動作する場合、出力ファイル名(SQL_SNAP機能やROUTINE_SNAP機能によって出力されるファイル、および、アクセスプラン情報やSQL性能情報を取得するファイル)の後ろに、プロセスIDなどの情報を付加して個別のトレース情報を出力するか否かを指定します。省略した場合は、NOが指定されたとみなします。
ログイン名
プロセスID
セション開始時間
出力ファイル名をsqlsnap.lstとし、ログイン名がtest、プロセスIDが288、セション開始時間が2007年4月16日12時34分56秒であるとした場合、以下のファイルに情報が出力されます。
sqlsnap_test_288_20070416123456.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 = (ライブラリ名)
動的ライブラリを使用してコールバック関数を登録する場合、動的ライブラリ名を指定します。
動的ライブラリ名が絶対パスでの指定でない場合は、以下のディレクトリにライブラリを格納する必要があります。
環境変数LD_LIBRARY_PATHに指定したディレクトリ
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
SCAN_KEY_ARITHMETIC_RANGE
SCAN_KEY_CAST
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})
シグナルをアプリケーションで利用するか否かを設定します。省略した場合は、YESが指定されたとみなします。
なお、本実行パラメタは、トランザクションモニタ配下のアプリケーションでは指定しないでください。
目次 索引 |