ページの先頭行へ戻る
Symfoware Server アプリケーション開発ガイド(埋込みSQL編)

6.4.3 クライアント用の動作環境ファイルの作成

クライアント用の動作環境ファイルはアプリケーション起動時に読み込まれます。

クライアント用の動作環境ファイルのパラメタをチューニングする場合は、クライアント用の動作環境ファイルを編集後、アプリケーションを再起動する必要があります。

ここでは、クライアント用の動作環境ファイルの定義方法と、定義する実行パラメタの種類、記述形式および意味について説明します。

クライアント用の動作環境ファイルを定義する

ここでは、クライアント用の動作環境ファイルの定義方法を説明します。クライアント用の動作環境ファイルの定義は、以下の作業を順番に行います。

  1. 動作環境ファイルのひな型を複写する

  2. 実行パラメタを設定する

動作環境ファイルのひな型を複写する

動作環境ファイルは、動作環境ファイルのひな型をアプリケーション実行時のカレントディレクトリなどに複写して作成します。なお、作成した動作環境ファイルを指定する方法の詳細は、“6.1.2 アプリケーションの起動(UNIX系の場合)”または“6.1.3 アプリケーションの起動(Windows(R)の場合)”を参照してください。

動作環境ファイルのひな型のファイル名と格納ディレクトリを以下に示します。

利用する製品名

OS

ディレクトリ

ファイル名

Symfoware Server

Solaris

/opt/FSUNrdb2b/demo

fssqlenvc

Linux

/opt/FJSVrdb2b/demo

fssqlenvc

Windows(R)

製品のインストール先ディレクトリ\ESQL\ETC

SQLRT.ENV

Symfoware Server クライアント機能

Solaris

/opt/FSUNrdb2b/demo

fssqlenvc

Linux

/opt/FJSVrdb2b/demo

fssqlenvc

Windows(R)

製品のインストール先ディレクトリ\ESQL\ETC

SQLRT.ENV

特にチューニングしない場合は、以下の推奨値を指定してください。

パラメタ名

推奨値

RESULT_BUFFER

2, 32

MAX_SQL

256

実行パラメタを設定する

実行パラメタは、テキスト形式の動作環境ファイルに汎用エディタを利用して設定してください。

動作環境ファイルに実行パラメタを設定した例を以下に示します。

図6.5 クライアント用の動作環境ファイルに実行パラメタを設定した例

実行パラメタの種類

クライアント用の動作環境ファイルには、アプリケーションの実行に必要な環境情報として実行パラメタを記述します。

実行パラメタは、以下に示す種類があります。

表6.6 クライアント用の動作環境ファイルの実行パラメタの種類

分類

実行パラメタ

概要

記述数

記述の省略

通信

BUFFER_SIZE

通信に利用するバッファ(クライアント側)のサイズ

単一

省略可能

CLUSTER_SERVICE_NAME

アプリケーションをフェイルオーバ運用で実行する場合に必要な情報

単一

省略可能

DEFAULT_CONNECTION

サーバとの結合情報のデフォルト

単一

CONNECT文にDEFAULTを指定する場合は省略不可。

SERVER_ENV_FILE

使用するサーバ用の動作環境ファイル名

複数可

省略可能

SERVER_SPEC

リモートのサーバと通信するための情報

複数可

リモートのデータベースにアクセスする場合省略不可。ローカルの場合は指定できない。

TRAN_SPEC

SQLエラー発生時のトランザクション

単一

省略可能

TRAN_TIME_LIMIT

1つのトランザクションの最大使用可能時間

単一

省略可能

WAIT_TIME

通信時の待ち時間

単一

省略可能

作業領域など

DESC_NUM(注1)

アプリケーションで利用できる最大列数

単一

省略可能

DESCRIPTOR_SPEC

動的SQLのSQL記述子の情報

単一

省略可能

MAX_SQL

同時に操作できるSQL文の数

単一

省略可能

OPL_BUFFER_SIZE

SQL文の実行手順を格納しておくバッファのサイズ

単一

省略可能

RESULT_BUFFER

一括FETCHを行う場合のバッファの数とサイズ

単一

省略可能

SORT_MEM_SIZE

作業用ソート領域として使うメモリサイズ

単一

省略可能

WORK_ALLOC_SPACESIZE

作業用テーブルおよび作業用ソート領域として使用するファイルサイズ

単一

省略可能

WORK_MEM_SIZE

作業用テーブルとして使うメモリのサイズ

単一

省略可能

WORK_PATH

作業用テーブルおよび作業用ソート領域のパス

単一

省略可能

データ処理

CAL_ERROR

代入処理でオーバフローが起きた場合の処理

単一

省略可能

CHARACTER_TRANSLATE

文字コードの変換をクライアントで行うか否か

単一

省略可能

CHAR_SET

アプリケーション中の文字のコード

単一

省略可能

NCHAR_CODE

アプリケーション中の日本語文字のコード

単一

省略可能

表・インデックス

DEFAULT_DSI_TYPE

格納構造定義を簡略化した表を定義する場合、Symfoware/RDBが自動的に生成する表のDSOの格納構造の選択

単一

省略可能

DEFAULT_INDEX_SIZE

格納構造定義を簡略化したインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量、ページ長など

単一

省略可能

DEFAULT_OBJECT_TABLE_SIZE

格納構造定義を簡略化した表を定義する場合のOBJECT構造の表のデータ格納域の初期量、拡張量、ページ長など

単一

省略可能

DEFAULT_TABLE_SIZE

格納構造定義を簡略化した表を定義する場合の表のデータ格納域の初期量、拡張量、ページ長など

単一

省略可能

DSI_EXPAND_POINT

DSIの容量拡張を起動するか否か

単一

省略可能

INCLUSION_DSI

アプリケーションで使用するDSIを限定する

単一

省略可能

TEMPORARY_INDEX_SIZE

一時表にインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量など

単一

省略可能

TEMPORARY_TABLE_SIZE

一時表を定義する場合の表のデータ格納域の初期量、拡張量など

単一

省略可能

排他

DSO_LOCK

使用するDSOの占有の単位、占有モード

単一

省略可能

ISOLATION_WAIT

占有待ちの方式

単一

省略可能

R_LOCK

占有の単位を行とする

単一

省略可能

トランザクション

DEFAULT_ACCESS_MODE

トランザクションアクセスモードの初期値を指定する

単一

省略可能

DEFAULT_ISOLATION

独立性水準の初期値を指定する

単一

省略可能

デバッグ

アプリケーションで異常が発生した場合のダンプ出力先

単一

省略可能

DIV_TRACE_FILE

複数プロセス配下でアプリケーションが動作している場合、個別のトレース情報を出力するか否か

単一

省略可能

ROUTINE_SNAP

ROUTINE_SNAP機能を利用するか否か

単一

省略可能

SET_CALLBACK

コールバック関数の動的登録機能を利用するか否か

単一

省略可能

SQL_SNAP

SQL_SNAP機能を利用するか否か

単一

省略可能

アクセスプランおよび性能情報(注2)

ACCESS_PLAN

アプリケーション単位でアクセスプランを取得するか否かおよびSQL文に対するアドバイスを出力するか否か

単一

省略可能

IGNORE_INDEX

インデックスを使用しないアクセスプランを選択するか否か

単一

省略可能

INACTIVE_INDEX_SCAN

非活性状態のインデックスDSIを含むインデックスを使用したアクセスプランを選択するか否か

単一

省略可能

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文:探索の更新標的レコードを位置づける部分の占有モード

単一

省略可能

メッセージ

表示するメッセージの言語種を設定する

単一

省略可能

MSG_PRINT

SQL文実行時にエラーメッセージを表示するか否か

単一

省略可能

リカバリ

RCV_MODE

アプリケーションのリカバリ水準を指定する

単一

省略可能

予約語

SQL_LEVEL

アプリケーションの予約語のレベルを設定する

単一

省略可能

並列クエリ

MAX_PARALLEL

データベースを並列に検索する場合の多重度

単一

省略可能

PARALLEL_SCAN

アプリケーション単位またはコネクション単位に、データベースを並列に検索するか否か

単一

省略可能

その他

ALTER_CHECK

表の設計変更により表の列を変更した場合、アプリケーションへの影響をチェックするか否か

単一

省略可能

ARC_FULL

アーカイブログ満杯時にエラー復帰するか否か

単一

省略可能

シグナルをアプリケーションで利用するか否か

単一

省略可能

注1) RDA接続(SERVER_SPECでRDAを指定)の場合のみ指定可能。

注2) アクセスプランおよび性能情報に関する実行パラメタです。
    詳細については、“SQLTOOLユーザーズガイド”を参照してください。

備考. RDA接続でも有効になるのは、以下のパラメタです。

通信に関する実行パラメタ

BUFFER_SIZE
【指定形式】

BUFFER_SIZE = ([初期量][,拡張量])

【実行パラメタの意味】

通信に利用するバッファサイズを指定します。単位はキロバイトです。

【パラメタの意味】
初期量:

バッファの初期量を1~10240で指定します。省略した場合は、1が指定されたとみなします。

拡張量:

拡張量を1~10240で指定します。省略した場合は、1が指定されたとみなします。

CLUSTER_SERVICE_NAME
【指定形式】

CLUSTER_SERVICE_NAME = (クラスタサービス名)

【実行パラメタの意味】

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

【パラメタの意味】
クラスタサービス名:

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

DEFAULT_CONNECTION
【指定形式】

DEFAULT_CONNECTION = (SQLサーバ名[,認可識別子,パスワード])

【実行パラメタの意味】

以下の場合のサーバとの結合情報を指定します。

  • アプリケーションにCONNECT文を記述しない場合

  • CONNECT文にキーワード“DEFAULT”を指定した場合

  • CONNECT文のユーザ指定を省略した場合

結合するデータベースに対して、ローカルアクセスかリモートアクセスかによって、指定形式が異なります。

  • ローカルアクセスの場合

    DEFAULT_CONNECTION = ([RDBシステム名.]データベース名)

  • リモートアクセスの場合

    DEFAULT_CONNECTION = (SQLサーバ名,認可識別子,パスワード)

【パラメタの意味】
RDBシステム名:

サーバがマルチRDB運用をしている場合に結合するRDBシステム名を指定します。省略した場合は、環境変数RDBNAMEに設定されたRDBシステム名が指定されたとみなします。

データベース名:

結合するデータベース名を指定します。

SQLサーバ名:

結合するSQLサーバ名を指定します。

認可識別子:

OSのログイン名、または、CREATE USER文で登録されている利用者名を指定します。

パスワード:

OSのパスワード、または、CREATE USER文で登録されているパスワードを指定します。

ローカルアクセスの場合は、実行時のログイン名および実行時のパスワードが使用されます。

ログイン名およびパスワードは、各サーバでは以下のように扱われます。

SolarisLinuxログイン名:

ログイン名

パスワード:

ログイン名のパスワード

Windowsログイン名:

ユーザ名(ログオン名)

パスワード:

ユーザ名のパスワード

SERVER_ENV_FILE
【指定形式】

SERVER_ENV_FILE = (SQLサーバ名,ファイル名)

【実行パラメタの意味】

使用するサーバ用の動作環境ファイル名を指定します。コネクション(データベース環境)ごとにサーバのアプリケーション実行環境を変更する場合に指定します。

【パラメタの意味】
SQLサーバ名:

CONNECT文の実行で指定するSQLサーバ名を記述します。

ファイル名:

サーバ用の動作環境ファイル名を、絶対パスで指定します。

SERVER_SPEC
【指定形式】

SERVER_SPEC = (通信方法,SQLサーバ名[,[データ資源名][,[ホスト名][,[ポート番号][,[接続サーバ種別]]]]])

【実行パラメタの意味】

CONNECT文でSQLサーバ名を指定した場合、サーバとの通信状態を確立するために必要な情報を記述します。このため、CONNECT文で接続するSQLサーバ名は、アプリケーションの実行時にすべてSERVER_SPECに記述しておく必要があります。ローカルのデータベースだけにアクセスする場合は、この実行パラメタは指定しません。

なお、通信方法によって、記述形式が異なります。

  • 性能を重視したRDB2_TCP連携の場合

    SERVER_SPEC = (RDB2_TCP,SQLサーバ名,データ資源名,ホスト名,ポート番号,接続サーバ種別)

  • OSIの汎用プロトコルを使用したRDA-SV連携の場合

    SERVER_SPEC = (RDA,SQLサーバ名,データ資源名,ホスト名,ポート番号)

【パラメタの意味】
通信方法:

以下の中から1つを選択します。
    -  RDB2_TCP: データベースシステムへダイレクトに結合する。
    -  RDA : RDA-SVを経由してデータベースシステムと結合する。

SQLサーバ名:

CONNECT文で指定したSQLサーバ名を記述します。SQLサーバ名は、SERVER_SPECで指定されたデータ資源に対して接続する際の名前を、利用者が任意に指定します。

データ資源名:

サーバ上に存在するデータ資源名(アクセス環境名)を指定します。通信方法がRDB2_TCPの場合は、データベース名を指定します。

ホスト名:

ホスト名管理ファイルに設定した18バイト以内のホスト名を指定します。

ポート番号:

サーバのポート番号を指定します。

接続サーバ種別:

通信方法にRDB2_TCPを指定した場合、以下の中から1つを選択します。省略した場合は、OPENが指定されたとみなします。
    -  OPEN: Solaris、Linux、Windows(R)上のSymfoware/RDBと接続する場合に指定します。
    -  GS: グローバルサーバ上のSymfoware/RDBと接続する場合に指定します。

通信方法がRDB2_TCPの場合、システム用の動作環境ファイルにおいて、MAX_CONNECT_TCPを必ず設定してください。

参照

ポート番号の詳細については、“セットアップガイド”を参照してください。

通信方法がRDAの場合、データ資源名およびポート番号の詳細については、利用するサーバに対応した“RDA-SVオペレーションガイド”を参照してください。

なお、Linuxの場合、RDAでの通信はできません。

TRAN_SPEC
【指定形式】

TRAN_SPEC = ({NONE | TRANSACTION_ROLLBACK})

【実行パラメタの意味】

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

【パラメタの意味】
NONE:

各プラットフォームのトランザクションの仕様に従います。

TRANSACTION_ROLLBACK:

SQL文の実行がエラーとなった場合に、トランザクションをロールバックします。

TRAN_TIME_LIMIT
【指定形式】

TRAN_TIME_LIMIT = (最大トランザクション実行時間)

【実行パラメタの意味】

1つのトランザクションで使用可能な時間を指定します。

【パラメタの意味】
最大トランザクション実行時間:

最大トランザクション時間を、0~32767で指定します。単位は秒です。0を指定すると無制限になります。省略した場合は、0が指定されたとみなします。指定時間を経過した場合には、トランザクションをロールバックして、接続中のコネクションを切断します。

WAIT_TIME
【指定形式】

WAIT_TIME = (待ち時間)

【実行パラメタの意味】

サーバからのデータ受信の待ち時間を指定します。

WAIT_TIMEで指定された時間内に、サーバからのデータが受信できなかった場合には、実行中のSQL文はエラーとなり、コネクションは切断されます。0を指定した場合は、データが受信できるまで待ちます。単位は秒です。

なお、本実行パラメタは、トランザクションモニタ配下では指定できません。

【パラメタの意味】
待ち時間:

待ち時間を0~32767で指定します。省略した場合は、0が指定されたとみなします。

注意

Solaris 9上でサーバからのデータ受信の待ち時間を監視したい場合は、通信方法にRDB2_TCPを指定してください。

作業領域に関する実行パラメタ

DESC_NUM
【指定形式】

DESC_NUM = (列数)

【実行パラメタの意味】

アプリケーションの1つのSQL文で処理する最大列数を、1~32767の範囲で指定します。省略した場合は、1000が指定されたとみなします。

DESC_NUMは、SERVER_SPECの通信方法にRDAを設定した場合のみ指定できます。

DESCRIPTOR_SPEC
【指定形式】

DESCRIPTOR_SPEC = (WITH MAX省略値)

【実行パラメタの意味】

動的SQLのSQL記述子の情報を指定します。

【パラメタの意味】
WITH MAX省略値:

ALLOCATE DESCRIPTOR文でWITH MAXを省略した場合の値を指定します。指定できる値は、1~32767までの値です。省略した場合は、100が指定されたとみなします。

参照

ALLOCATE DESCRIPTOR文については、“SQLリファレンス”を参照してください。

MAX_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
【指定形式】

OPL_BUFFER_SIZE = (バッファサイズ)

【実行パラメタの意味】

Symfoware/RDBでは、同一SQL文を複数回実行するときに、最初の実行で作成した処理手順を使用することによって処理効率の向上を図っています。本パラメタは、このSQLの処理手順を格納するバッファのサイズを1~1280000で指定します。単位はキロバイトです。省略した場合は、256が指定されたとみなします。この領域は、サーバ側で獲得されます。

注意

同一SQL文を複数回実行するとき、以下の場合については最初の実行で作成した処理手順は使用されず、新たに処理手順を作成します。

  • SQL埋込みCプログラムにおいて、ポインタ変数として宣言したホスト変数を使用している場合

  • 前回の実行後、保持可能な処理手順の数(MAX_SQLに指定した値と同数)以上の異なるSQL文を実行した場合

  • 前回の実行後、SET TRANSACTION文によりトランザクションモード(アクセスモードまたは独立性水準)を変更した場合

  • 前回の実行後、SET CATALOG文により被準備文の対象となるデータベース名を変更した場合

  • 前回の実行後、SET SCHEMA文により被準備文の省略したスキーマ名を変更した場合

  • 前回の実行後、SET SESSION AUTHORIZATION文によりスコープの異なる利用者に変更した場合

  • 前回の実行後、SQL文が使用するデータベース資源についてALTER TABLE文により動的に列の追加または削除を実行した場合

  • 前回の実行後、SQL文が使用するデータベース資源についてCREATE DSI文により動的にDSIの追加または削除を実行した場合

  • 前回の実行後、SQL文が使用するデータベース資源についてALTER DSI文により動的にDSIの分割値変更を実行した場合

  • 動作環境ファイルのパラメタINACTIVE_INDEX_SCANにNOを指定している場合に、前回の実行後、rdbexdsiコマンドにより任意のDSIの除外または除外の解除を実行した場合

  • 前回の実行後、SQL文が使用するデータベース資源を削除した場合

ポイント

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
【指定形式】

RESULT_BUFFER = ([個数][,バッファサイズ])

【実行パラメタの意味】

Symfoware/RDBでは、FETCH文によってデータを取り出すときの性能を良くするため、複数の行を一度に取り出します。この行を格納するバッファの数とサイズを指定します。バッファサイズを大きくするほど、FETCHの性能が良くなります。また、1つのカーソルが1つのバッファを使用するので、複数のバッファを用意すれば、複数のカーソルの操作の性能を良くすることができます。バッファを使用しない場合は、個数に0を指定します。単位はキロバイトです。この領域は、クライアント側とサーバ側で獲得されます。

【パラメタの意味】
個数:

使用するバッファの個数を0~255で指定します。省略した場合、クライアントのプラットフォームにより、以下となります。

SolarisLinux2が指定されたとみなします。

Windows0が指定されたとみなします。

バッファサイズ:

使用するバッファのサイズを1~10240で指定します。省略した場合、クライアントのプラットフォームにより、以下となります。

SolarisLinux32が指定されたとみなします。

Windows1が指定されたとみなします。

SORT_MEM_SIZE
【指定形式】

SORT_MEM_SIZE = (メモリサイズ)

【実行パラメタの意味】

ソート処理のために作業用ソート領域としてサーバ側で使用するメモリの大きさを、64~2097150の範囲で指定します。単位はキロバイトです。省略した場合は、システム用の動作環境ファイルにおけるSORT_MEM_SIZEの指定に従います。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。

WORK_ALLOC_SPACESIZE
【指定形式】

WORK_ALLOC_SPACESIZE = ([初期量][,[増分量][,[最大量][,[保持指定]]]])

【実行パラメタの意味】

作業用ソート領域および作業用テーブルとしてサーバ側で使用するファイルサイズの初期量、増分量、最大量、保持指定を指定します。単位はキロバイトです。

初期量、増分量、最大量、保持指定のいずれかの値が省略された場合は、その値のデフォルト値が指定されたものとみなします。


以下に指定例を示します。

例1:初期量、増分量を指定する場合

WORK_ALLOC_SPACESIZE = (10000,50000)

例2:増分量、最大量を指定する場合

WORK_ALLOC_SPACESIZE = (,50000,100000)

【パラメタの意味】
初期量:

作業用ソート領域および作業用テーブルとして外部ファイルを作成する場合の初期量を5000~1000000の範囲で指定します。省略した場合は10000が指定されたとみなします。

増分量:

作業用ソート領域および作業用テーブルとして作成した外部ファイルを拡張する場合の増分量を1000~1000000の範囲で指定します。省略した場合は、50000が指定されたとみなします。

最大量:

作業用ソート領域および作業用テーブルとして作成する外部ファイルの最大量を5000~2000000の範囲で指定します。省略した場合は、WORK_PATHで指定したパス名のディスク容量となります。

保持指定:

以下の中から1つを選択します。省略した場合は、HOLDが指定されたものとみなします。
    -  FREE:初期量として獲得した作業用ソート領域および
              作業用テーブルの外部ファイルは、DISCONNECT文の実行時に
              解放します。
              拡張量として獲得した作業用ソート領域および作業用テーブルの
              外部ファイルは、その領域を使用したSQL文の実行完了時に
              解放します。
    -  HOLD:作業用ソート領域および作業用テーブルとして作成した
              外部ファイルは、DISCONNECT文の実行時に解放します。

WORK_MEM_SIZE
【指定形式】

WORK_MEM_SIZE = (メモリサイズ)

【実行パラメタの意味】

作業用テーブルとしてサーバ側で使用するメモリのサイズを64~2097150の範囲で指定します。単位はキロバイトです。省略した場合は、システム用の動作環境ファイルにおけるWORK_MEM_SIZEの指定に従います。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。

WORK_PATH
【指定形式】

WORK_PATH = (ワークパス名[,ワークパス名]・・・)

【実行パラメタの意味】

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

省略した場合は、システム用の動作環境ファイルにおけるWORK_PATHの指定に従います。

データ処理に関する実行パラメタ

CAL_ERROR
【指定形式】

CAL_ERROR = ({REJECT | NULL})

【実行パラメタの意味】

代入処理でオーバフローが発生した場合の処理を指定します。省略した場合は、REJECTが指定されたとみなします。

【パラメタの意味】
REJECT:

例外エラーとします。

NULL:

演算結果をNULLとします。

CHARACTER_TRANSLATE
【指定形式】

CHARACTER_TRANSLATE = ({CLIENT | SERVER})

【実行パラメタの意味】

データベースシステムの文字コード系が、アプリケーションで使用している文字コード系と異なる場合、コード変換をクライアントで行うか、サーバで行うかを指定します。省略した場合は、SERVERが指定されたとみなします。サーバの負荷を少しでも減らしたい場合は、クライアントで行うよう指定します。

LinuxクライアントでSQL埋込みホストプログラムを使用している場合で、かつアプリケーション起動時に環境変数LANGにja_JP.UTF-8が指定されている環境では、以下のデータベースに接続する場合にはCLIENTを指定する必要があります。

  • SolarisSymfoware Server Enterprise Extended Edition 6.0.1以前

  • Symfoware Server Enterprise Edition 6.0.1以前

  • Symfoware Server Standard Edition 6.0.1以前

  • LinuxSymfoware Server Standard Edition V5.0L10以前

  • WindowsSymfoware Server Enterprise Edition V6.0L10以前

  • Symfoware Server Standard Edition V6.0L10以前

  • Symfoware Server for Windows V6.0L10以前

【パラメタの意味】
CLIENT:

クライアントでコード変換を行う場合に指定します。

SERVER:

サーバでコード変換を行う場合に指定します。

CHAR_SET
【指定形式】

CHAR_SET = ({EUC_S90|EUC_U90|EUC|SJIS|UTF8})

【実行パラメタの意味】

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

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

表6.7 データベースの文字コード系との関係

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

CHAR_SETの指定

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:

ホスト変数内文字列のデータの文字コード系がUNICODEの場合に指定します。

注意

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

NCHAR_CODE
【指定形式】

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の関係を以下に示します。

表6.8 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との関係を以下に示します。

表6.9 データベースの文字コード系との関係

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

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の省略値)

○:指定可能

×:指定不可能

【パラメタの意味】
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:

ホスト変数内文字列のデータの文字コード系がUNICODEのUTF-8コードの場合に指定します。

UCS2:

ホスト変数内文字列のデータの文字コード系がUNICODEのUCS-2コードの場合に指定します。

UCS2B:

ホスト変数内文字列のデータの文字コード系がUNICODEのUCS-2コードのバイトスワップ形式の場合に指定します。

注意

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

表・インデックスに関する実行パラメタ

DEFAULT_DSI_TYPE
【指定形式】

DEFAULT_DSI_TYPE = {SEQUENTIAL | OBJECT}

【実行パラメタの意味】

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

  • 表の最後に1つだけ、BLOB型でサイズに32キロバイト以上を指定している場合

  • BLOB型以外の列は固定長属性の場合

  • BLOB型の列にNOT NULL制約を指定している場合

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

【パラメタの意味】
SEQUENTIAL:

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

OBJECT:

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

DEFAULT_INDEX_SIZE
【指定形式】

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

【実行パラメタの意味】

動的SQLを使用して格納構造定義を簡略化したインデックスを定義する場合、インデックスのベース部とインデックス部の割付け量、ページ長などを指定します。単位はキロバイトです。この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるDEFAULT_INDEX_SIZEの指定に従います。

【パラメタの意味】
ベース部ページ長:

ベース部のページ長を1、2、4、8、16、32の中から指定します。

インデックス部ページ長:

インデックス部のページ長を1、2、4、8、16、32の中から指定します。

ベース部初期量:

ベース部の初期量を2~2097150の範囲で指定します。

インデックス部初期量:

インデックス部の初期量を2~2097150の範囲で指定します。

拡張量:

インデックスのベース部の拡張量を1~2097150の範囲で指定します。省略した場合は、32が指定されたとみなします。インデックス部の拡張量は、ベース部の5分の1の値となります。

拡張契機:

ベース部およびインデックス部の拡張を行うタイミングとして、DSIの空き容量を0~2097150の範囲で指定します。つまり、インデックスのDSIの空き容量がここで指定した値になると、インデックスのベース部およびインデックス部の拡張が行われます。省略した場合は、0が指定されたとみなします。

注意

  • 自動容量拡張の拡張量と拡張契機は、ページ長単位に繰り上げますので、ページ長の倍数で指定してください。

  • ベース部の5分の1がインデックス部のページ長の倍数でない場合、インデックス部のページ長の倍数に繰り上げます。

DEFAULT_OBJECT_TABLE_SIZE
【指定形式】

DEFAULT_OBJECT_TABLE_SIZE = (ページ長,初期量[,拡張量,拡張契機])

【実行パラメタの意味】

動的SQLを使用して格納構造定義を簡略化した表を定義する場合、OBJECT構造の表のデータ格納域の割付け量、ページ長などを指定します。単位はキロバイトです。この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるDEFAULT_OBJECT_TABLE_SIZEの指定に従います。

【パラメタの意味】
ページ長:

データ格納域のページ長を指定します。必ず32を指定します。

初期量:

データ格納域の初期量を2~2097150の範囲で指定します。

拡張量:

データ格納域の拡張量を1~2097150の範囲で指定します。省略した場合は、32768が指定されたとみなします。

拡張契機:

データ格納域の拡張を行うタイミングとして、表のDSIの空き容量を0~2097150の範囲で指定します。つまり、表のDSIの空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。省略した場合は、0が指定されたとみなします。

注意

自動容量拡張の拡張量と拡張契機は、ページ長単位に繰り上げますので、ページ長の倍数で指定してください。

DEFAULT_TABLE_SIZE
【指定形式】

DEFAULT_TABLE_SIZE = (ページ長,初期量[,拡張量,拡張契機])

【実行パラメタの意味】

動的SQLを使用して格納構造定義を簡略化した表を定義する場合、表のデータ格納域の割付け量、ページ長などを指定します。単位はキロバイトです。この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるDEFAULT_TABLE_SIZEの指定に従います。

【パラメタの意味】
ページ長:

データ格納域のページ長を1、2、4、8、16、32の中から指定します。

初期量:

データ格納域の初期量を2~2097150の範囲で指定します。

拡張量:

データ格納域の拡張量を1~2097150の範囲で指定します。省略した場合は、64が指定されたとみなします。

拡張契機:

データ格納域の拡張を行うタイミングとして、表のDSIの空き容量を0~2097150の範囲で指定します。つまり、表のDSIの空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。省略した場合は、0が指定されたとみなします。

注意

自動容量拡張の拡張量と拡張契機は、ページ長単位に繰り上げますので、ページ長の倍数で指定してください。

DSI_EXPAND_POINT
【指定形式】

DSI_EXPAND_POINT=({ON | OFF})

【実行パラメタの意味】

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

【パラメタの意味】
ON:

DSIに定義された拡張契機は有効になります。アプリケーションによるデータ操作で、DSIの空きページ容量が拡張契機に達した時点で、領域を拡張します。

OFF:

DSIに定義された拡張契機は無効になります。アプリケーションによるデータ操作で、DSIの空きページ容量が拡張契機に達しても、領域を拡張しません。この場合、DSIの空き領域が枯渇した時点で、領域を拡張します。

INCLUSION_DSI
【指定形式】

INCLUSION_DSI = (データベース名.DSI名[,データベース名.DSI名・・・])

【実行パラメタの意味】

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

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

TEMPORARY_INDEX_SIZE
【指定形式】

TEMPORARY_INDEX_SIZE = (ベース部初期量,インデックス部初期量[,拡張量,拡張契機])

【実行パラメタの意味】

一時表にインデックスを定義する場合に、インデックスのベース部とインデックス部の割付け量を指定します。単位はキロバイトです。この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるTEMPORARY_INDEX_SIZEの指定に従います。

【パラメタの意味】
ベース部初期量:

ベース部の初期量を64~2097150の範囲で指定します。

インデックス部初期量:

インデックス部の初期量を64~2097150の範囲で指定します。

拡張量:

インデックスのベース部の拡張量を32~2097150の範囲で指定します。インデックス部の拡張量は、ベース部の5分の1の値となります。

拡張契機:

ベース部およびインデックス部の拡張を行うタイミングとして、インデックスの空き容量を0~2097150の範囲で指定します。つまり、インデックスの空き容量がここで指定した値になると、インデックスのベース部およびインデックス部の拡張が行われます。

注意

  • 自動容量拡張の拡張量と拡張契機は、ページ長単位に繰り上げますので、ページ長の倍数で指定してください。

  • ベース部の5分の1がインデックス部のページ長の倍数でない場合、インデックス部のページ長の倍数に繰り上げます。

TEMPORARY_TABLE_SIZE
【指定形式】

TEMPORARY_TABLE_SIZE = (初期量[,拡張量,拡張契機])

【実行パラメタの意味】

一時表を定義する場合に、表のデータ格納域の割付け量を指定します。単位はキロバイトです。この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるTEMPORARY_TABLE_SIZEの指定に従います。

【パラメタの意味】
初期量:

データ格納域の初期量を64~2097150の範囲で指定します。

拡張量:

データ格納域の拡張量を32~2097150の範囲で指定します。

拡張契機:

データ格納域の拡張を行うタイミングとして、表の空き容量を0~2097150の範囲で指定します。つまり、表の空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。

注意

自動容量拡張の拡張量と拡張契機は、ページ長単位に繰り上げますので、ページ長の倍数で指定してください。

排他に関する実行パラメタ

DSO_LOCK
【指定形式】

DSO_LOCK = (DSO名[/[P][占有モード]][,DSO名[/[P][占有モード]]・・・])

【実行パラメタの意味】

アプリケーションで使用するDSOおよびその占有の単位、占有モードを指定します。
DSO_LOCKが指定された場合、SET TRANSACTION文、クライアント用の動作環境ファイルのDEFAULT_ACCESS_MODEおよびDEFAULT_ISOLATIONは指定できません。
なお、動作環境ファイルのR_LOCKの値により、DSO_LOCKを指定できない場合があります。詳細は、“表2.3 DSO_LOCKとR_LOCKの関係”を参照してください。

【パラメタの意味】
DSO名:

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

データベース名.DSO名

P:

DSOの占有の単位をページとします。省略した場合は、占有の単位はDSIとなります。

占有モード:

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

ISOLATION_WAIT
【指定形式】

ISOLATION_WAIT = ({WAIT | REJECT})

【実行パラメタの意味】

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

【パラメタの意味】
WAIT:

資源の占有が解除されるまで待ちます。

REJECT:

エラーとしてアプリケーションに復帰します。

R_LOCK
【指定形式】

R_LOCK = ({YES | NO})

【実行パラメタの意味】

占有の単位を行とするかどうかを指定します。省略した場合は、システム用の動作環境ファイルにおけるR_LOCKの指定に従います。

【パラメタの意味】
YES:

占有の単位を行とします。このパラメタを指定した場合、クライアント用およびサーバ用の動作環境ファイルにDSO_LOCKパラメタを指定することはできません。

NO:

占有の単位は、DSO_LOCKの指定に従います。このパラメタを指定し、かつDSO_LOCKが指定されていない場合は、Symfoware/RDBによって自動的に占有の単位が選択されます。詳細については、“2.3.5 排他制御”を参照してください。

注意

  • 動作環境ファイルの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
【指定形式】

DEFAULT_ACCESS_MODE = ({READ_ONLY | READ_WRITE})

【実行パラメタの意味】

トランザクションアクセスモードの初期値を指定します。DEFAULT_ACCESS_MODEが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。省略した場合は、システム用の動作環境ファイルにおけるDEFAULT_ACCESS_MODEの指定に従います。

DEFAULT_ACCESS_MODEが指定された場合、動作環境ファイルのDSO_LOCKは指定できません。

【パラメタの意味】
READ_ONLY:

トランザクションアクセスモードの初期値をREAD ONLYとします。

READ_WRITE:

トランザクションアクセスモードの初期値をREAD WRITEとします。

DEFAULT_ISOLATION
【指定形式】

DEFAULT_ISOLATION = ({DEFAULT | READ_UNCOMMITTED | READ_COMMITTED | REPEATABLE_READ | SERIALIZABLE})

【実行パラメタの意味】

独立性水準の初期値を指定します。DEFAULT_ISOLATIONが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。省略した場合は、DEFAULTが指定されたとみなします。

DEFAULT_ISOLATIONが指定された場合、動作環境ファイルのDSO_LOCKは指定できません。

【パラメタの意味】
DEFAULT:

独立性水準の初期値はシステム用の動作環境ファイルにおけるDEFAULT_ISOLATIONの指定に従います。

READ_UNCOMMITTED:

独立性水準の初期値をREAD UNCOMMITTEDとします。

READ_COMMITTED:

独立性水準の初期値をREAD COMMITTEDとします。

REPEATABLE_READ:

独立性水準の初期値をREPEATABLE READとします。

SERIALIZABLE:

独立性水準の初期値をSERIALIZABLEとします。

注意

  • 動作環境ファイルのR_LOCKがNOの場合、DEFAULT_ISOLATIONにREPEATABLE_READを指定しても、独立性水準はSERIALIZABLEになります。

  • 動作環境ファイルのR_LOCKがYESの場合、DEFAULT_ISOLATIONにSERIALIZABLEを指定しても、独立性水準はREPEATABLE READになります。

デバッグに関する実行パラメタ

WindowsCOREFILE_PATH
【指定形式】

COREFILE_PATH = (絶対パス名)

【実行パラメタの意味】

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

DIV_TRACE_FILE
【指定形式】

DIV_TRACE_FILE = ({YES | NO})

【実行パラメタの意味】

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

【パラメタの意味】
YES:

出力ファイル名の後に以下の情報を付加して個別のトレース情報を取得します。
    -  ログイン名
    -  プロセスID
    -  セション開始時間

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

sqlsnap_test_288_20070416123456.lst

NO:

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

注意

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

  • ログイン名

  • プロセスID

  • セションID

  • セション開始時間

ROUTINE_SNAP
【指定形式】

ROUTINE_SNAP = ({ON | OFF},ルーチンスナップファイル名[,出力レベル])

【実行パラメタの意味】

ROUTINE_SNAP機能を利用するかどうかを指定します。省略した場合は、OFFが指定されたとみなします。

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

【パラメタの意味】
ON:

ROUTINE_SNAP機能を利用する場合に指定します。

OFF:

ROUTINE_SNAP機能を利用しない場合に指定します。

ルーチンスナップファイル名:

SQL手続き文の実行情報の出力先のサーバ側のファイル名を、絶対パスで指定します。指定されたファイルがすでに存在する場合は、情報を追加して出力します。

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

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

出力レベル:

出力する情報のレベルとして、1または2を指定します。省略した場合は、2が指定されたとみなします。出力レベルの指定と出力情報の対応については、“表6.3 出力レベルの指定と出力情報の対応”を参照してください。

SET_CALLBACK
【指定形式】

SET_CALLBACK = (ライブラリ名)

【実行パラメタの意味】

動的ライブラリを使用してコールバック関数を登録する場合、動的ライブラリ名を指定します。

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

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

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

SQL_SNAP
【指定形式】

SQL_SNAP = ({ON | OFF}[,[スナップファイル名][,[出力レベル][,[繰り返し幅]]]])

【実行パラメタの意味】

SQL_SNAP機能を利用するかどうかを指定します。省略した場合は、OFFが指定されたとみなします。

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

【パラメタの意味】
ON:

SQL_SNAP機能を利用する場合に指定します。

OFF:

SQL_SNAP機能を利用しない場合に指定します。

スナップファイル名:

SQL_SNAP機能が出力するSQL文の実行情報の出力先ファイル名を指定します。ファイル名を省略した場合は、アプリケーションのファイル名の拡張子を“.SNP”に変更したものとなります。ファイル名にディレクトリの指定がない場合は、カレントディレクトリが指定されたものとみなします。指定されたファイルがすでに存在する場合は、情報を追加して出力します。

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

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

出力レベル:

出力する情報のレベルとして、1または2を指定します。省略した場合は、2が指定されたとみなします。出力レベルの指定と出力情報の対応については、“表6.1 出力レベルの指定と出力情報の対応”を参照してください。

繰り返し幅:

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

アクセスプラン・性能情報に関する実行パラメタ

以下の実行パラメタは、アクセスプランおよび性能情報に関する実行パラメタです。

参照

詳細については、“SQLTOOLユーザーズガイド”を参照してください。

メッセージに関する実行パラメタ

WindowsMSG_LANG
【指定形式】

MSG_LANG = ({JAPANESE | ENGLISH})

【実行パラメタの意味】

メッセージを表示するときの言語種を指定します。

【パラメタの意味】
JAPANESE:

日本語で表示します。

ENGLISH:

英語で表示します。

MSG_PRINT
【指定形式】

MSG_PRINT = ({ON | OFF})

【実行パラメタの意味】

SQL文実行時に、エラーメッセージを標準エラー出力に出力するか否かを指定します。省略した場合は、OFFが指定されたとみなします。

【パラメタの意味】
ON:

エラーメッセージを標準エラー出力に出力します。

OFF:

エラーメッセージを標準エラー出力に出力しません。

リカバリに関する実行パラメタ

RCV_MODE
【指定形式】

RCV_MODE = ({RCV | NRCV})

【実行パラメタの意味】

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

【パラメタの意味】
RCV:

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

NRCV:

リカバリ機能を利用しません。この場合、リカバリを適用する(rdbrtrコマンドで利用規定にnオプションを指定していない)データベースを更新することはできません。

予約語に関する実行パラメタ

SQL_LEVEL
【指定形式】

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

【実行パラメタの意味】

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

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

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

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

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

コンパイル時にRオプションまたはWオプションで予約語のレベルが指定されていた場合も、本パラメタで指定された値が有効となります。

【パラメタの意味】
SQL88:

予約語のレベルをSQL88とします。

SQL92:

予約語のレベルをSQL92とします。

SQL95:

予約語のレベルをSQL95とします。

SQL96:

予約語のレベルをSQL96とします。

SQL2000:

予約語のレベルをSQL2000とします。

参照

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

並列クエリに関する実行パラメタ

MAX_PARALLEL
【指定形式】

MAX_PARALLEL = (多重度)

【実行パラメタの意味】

SQL文でデータベースを並列に検索する場合の多重度を2~100の範囲で指定します。省略した場合は、システム用の動作環境ファイルにおけるMAX_PARALLELの指定に従って並列検索(並列クエリ)を行います。SQL文でデータベースを並列に検索できるのは、単一行SELECT文またはカーソル宣言で並列指定を指定した場合です。表のDSIの数が、指定した多重度よりも少ない場合は、DSIの数を多重度として並列検索を行います。

PARALLEL_SCAN
【指定形式】

PARALLEL_SCAN = ({YES | NO})

【実行パラメタの意味】

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

【パラメタの意味】
YES:

データベースを並列に検索します。この場合、そのアプリケーションの単一行SELECT文およびOPEN文を並列検索で実行できます。ただし、以下のいずれかの条件を満たす場合、並列検索は実行されず従来のアクセス手順でデータベースをアクセスします。
    -  表がDSI分割されていない、または1つのDSIに対するアクセスの場合
    -  クラスタキーを利用したデータベースアクセスが可能な場合
    -  探索条件にROW_IDを指定した検索の場合
    -  インデックスを利用したデータベースアクセスが可能な場合

NO:

データベースを並列に検索しません。

その他の実行パラメタ

ALTER_CHECK
【指定形式】

ALTER_CHECK=({YES | NO})

【実行パラメタの意味】

表の設計変更により表の列を変更した場合に、アプリケーションに影響があるか否かをチェックします。省略した場合はNOが指定されたとみなします。

本実行パラメタは、Symfoware Server Enterprise Extended Edition を使用した場合のみ指定できます。

【パラメタの意味】
YES:

選択リストに“*”を指定したカーソル宣言または単一行SELECT文や、挿入列リストを省略したINSERT文の実行をチェックします。これらのSQL文の実行がエラーになります。

NO:

選択リストに“*”を指定したカーソル宣言または単一行SELECT文や、挿入列リストを省略したINSERT文に対するチェックをせずに実行します。

ARC_FULL
【指定形式】

ARC_FULL = ({RETURN | WAIT})

【実行パラメタの意味】

アーカイブログファイルが満杯状態になったとき、エラー復帰するか否かを指定します。省略した場合は、システム用の動作環境ファイルにおけるARC_FULLの指定に従います。

【パラメタの意味】
RETURN:

エラーとしてアプリケーションに復帰します。

WAIT:

空きのアーカイブログファイルが作成されるまで待ちます。

注意

“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 アーカイブログファイルが満杯です.

SolarisLinuxSIGNAL_INF
【指定形式】

SIGNAL_INF = ({YES | NO})

【実行パラメタの意味】

シグナルをアプリケーションで利用するか否かを設定します。省略した場合は、YESが指定されたとみなします。

なお、本実行パラメタは、トランザクションモニタ配下のアプリケーションでは指定しないでください。

【パラメタの意味】
YES:

アプリケーションでシグナルを利用します。

NO:

アプリケーションでシグナルを利用しません。