クライアント用の動作環境ファイルに、アプリケーションの動作環境を指定します。
動作環境パラメタの指定の優先順位
動作環境の設定項目の中には、システム用の動作環境ファイル、クライアント用の動作環境ファイルおよびサーバ用の動作環境ファイルで重複して指定できるパラメタがあります。優先順位は、以下のとおりです。
参考
データベース簡単運用の場合には、Symfoware Severのインストール時に、システム用の動作環境として最適な環境が設定されるため、チューニングの必要がありません。よって、システム用の動作環境ファイルは、作成不要です。
1. サーバ用の動作環境ファイル
2. クライアント用の動作環境ファイル
3. システム用の動作環境ファイル
動作環境ファイルを記述する文法の一般形式を以下に示します。
KEYWORD=(値1,値2,・・・,値n)
詳細形式および注意事項は以下のとおりです。
実行パラメタのキーワードは英大文字で記述します。
1行には、実行パラメタを1つだけ記述します。
1行内に複数の実行パラメタを記述した誤った記述例
BUFFER_SIZE = 10 TRAN_SPEC = TRANSACTION_ROLLBACK
実行パラメタのカッコ“()”は省略可能です。
実行パラメタの右カッコ“)”以降の記述は、コメントとみなします。
実行パラメタにコメントを記述した記述例
WAIT_TIME = (15) 待ち時間15秒
行頭にセミコロン“;”のある行は、コメントとみなします。
キーワード、等号“=”、カッコ“()”、コンマ“,”およびセミコロン“;”の前後には、空白またはタブを記述することができます。
BUFFER_SIZE = (10) バッファサイズ10KB TRAN_SPEC = (TRANSACTION_ROLLBACK) 暗黙のROLLBACK
複数指定が不可能な実行パラメタを複数記述した場合には、最後に指定された記述が有効となります。
1行は、227バイト以内で記述する必要があります。
コンマ“,”の前後で改行することができます。ただし、その場合、カッコ“()”を省略することはできません。
INCLUSION_DSI = (DB01.DSI01, ・・・・・DB08.DSI08,↓ DB0n.DSI0n )↓
↓:改行
値の並びで途中の値を省略する場合には、コンマ“,”だけを記述します。
BUFFER_SIZE = ,64 ← 値1を省略した例
最後に指定した値のうしろのコンマ“,”は省略することができます。
DEFAULT_TABLE_SIZE = (4,512) ← 値3以降を省略した例
実行パラメタは、以下に示す種類があります。
分類 | 実行パラメタ | 概要 | 記述数 | 記述の省略 | 優先順位 | ||
---|---|---|---|---|---|---|---|
1 | 2 | 3 | |||||
SV | CL | SY | |||||
通信 | 通信に利用するバッファ(クライアント側)のサイズ | 単一 | 省略可能 | - | ○ | - | |
アプリケーションをフェイルオーバ運用で実行する場合に必要な情報 | 単一 | 省略可能 | - | ○ | - | ||
サーバとの結合情報のデフォルト | 単一 | CONNECT文にDEFAULTを指定する場合は省略不可。 | - | ○ | - | ||
使用するサーバ用の動作環境ファイル名 | 複数可 | 省略可能 | - | ○ | - | ||
リモートのサーバと通信するための情報 | 複数可 | リモートのデータベースにアクセスする場合省略不可。ローカルの場合は指定できない。 | - | ○ | - | ||
SQLエラー発生時のトランザクション | 単一 | 省略可能 | - | ○ | - | ||
1つのトランザクションの最大使用可能時間 | 単一 | 省略可能 | ○ | ○ | ○ | ||
通信時の待ち時間 | 単一 | 省略可能 | - | ○ | - | ||
通信データの暗号化 | サーバ認証で使用するCA証明書ファイルの配置先 | 複数可 | サーバ認証を行う場合は省略不可。 | - | ○ | - | |
作業領域など | 動的SQLのSQL記述子の情報 | 単一 | 省略可能 | - | ○ | - | |
同時に操作できるSQL文の数 | 単一 | 省略可能 | - | ○ | - | ||
SQL文の実行手順を格納しておくバッファのサイズ | 単一 | 省略可能 | - | ○ | - | ||
一括FETCHを行う場合のバッファの数とサイズ | 単一 | 省略可能 | - | ○ | - | ||
作業用ソート領域として使うメモリサイズ | 単一 | 省略可能 | ○ | ○ | ○ | ||
作業用テーブルおよび作業用ソート領域として使用するファイルサイズ | 単一 | 省略可能 | ○ | ○ | - | ||
作業用テーブルとして使うメモリのサイズ | 単一 | 省略可能 | ○ | ○ | ○ | ||
作業用テーブルおよび作業用ソート領域のパス | 単一 | 省略可能 | ○ | ○ | ○ | ||
データ処理 | 代入処理でオーバフローが起きた場合の処理 | 単一 | 省略可能 | - | ○ | - | |
文字コードの変換をクライアントで行うか否か | 単一 | 省略可能 | - | ○ | - | ||
アプリケーション中の文字のコード | 単一 | 省略可能 | - | ○ | - | ||
アプリケーション中の日本語文字のコード | 単一 | 省略可能 | - | ○ | - | ||
UNICODEの補助文字(1~16面の4バイト文字)の文字数 | 単一 | 省略可能 | ○ | ○ | ○ | ||
表・インデックス | 格納構造定義を行わない表を作成する場合、Symfoware/RDBが自動的に生成する表のDSOの格納構造の選択 | 単一 | 省略可能 | - | ○ | ○ | |
格納構造定義を行わないインデックスを作成する場合のインデックスのデータ格納域の初期量、拡張量、ページ長など | 単一 | 省略可能 | ○ | ○ | ○ | ||
格納構造定義を行わない表を作成する場合のOBJECT構造の表のデータ格納域の初期量、拡張量、ページ長など | 単一 | 省略可能 | ○ | ○ | ○ | ||
格納構造定義を行わない表を作成する場合の表のデータ格納域の初期量、拡張量、ページ長など | 単一 | 省略可能 | ○ | ○ | ○ | ||
DSIの容量拡張を起動するか否か | 単一 | 省略可能 | - | ○ | - | ||
アプリケーションで使用するDSIを限定する | 単一 | 省略可能 | ○ | ○ | - | ||
一時表にインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量など | 単一 | 省略可能 | ○ | ○ | ○ | ||
一時表を定義する場合の表のデータ格納域の初期量、拡張量など | 単一 | 省略可能 | ○ | ○ | ○ | ||
排他 | 使用するDSOの占有の単位、占有モード | 単一 | 省略可能 | ○ | ○ | - | |
占有待ちの方式 | 単一 | 省略可能 | - | ○ | - | ||
占有の単位を行とする | 単一 | 省略可能 | - | ○ | ○ | ||
トランザクション | トランザクションアクセスモードの初期値を指定する | 単一 | 省略可能 | - | ○ | ○ | |
独立性水準の初期値を指定する | 単一 | 省略可能 | - | ○ | ○ | ||
デバッグ | アプリケーションで異常が発生した場合のダンプ出力先 | 単一 | 省略可能 | - | ○ | - | |
複数プロセス配下でアプリケーションが動作している場合、個別のトレース情報を出力するか否か | 単一 | 省略可能 | - | ○ | - | ||
ROUTINE_SNAP機能を利用するか否か | 単一 | 省略可能 | - | ○ | - | ||
コールバック関数の動的登録機能を利用するか否か | 単一 | 省略可能 | - | ○ | - | ||
SQL_SNAP機能を利用するか否か | 単一 | 省略可能 | - | ○ | - | ||
アクセスプランおよび性能情報 | アプリケーション単位でアクセスプランを取得するか否かおよびSQL文に対するアドバイスを出力するか否か | 単一 | 省略可能 | - | ○ | - | |
CHOOSE_TID_UNION | WHERE句にブール演算子”OR”、または、行値構成子を指定した場合、TIDユニオンマージのアクセスプランのみを作成するか否か | 単一 | 省略可能 | ○ | ○ | ○ | |
GROUP_COL_COND_MOVE | 導出表を絞り込む探索条件を指定した場合、その探索条件を導出表のWHERE句に移動するか否か | 単一 | 省略可能 | ○ | ○ | ○ | |
IGNORE_INDEX | インデックスを使用しないアクセスプランを選択するか否か | 単一 | 省略可能 | ○ | ○ | - | |
INACTIVE_INDEX_SCAN | 非活性状態のインデックスDSIを含むインデックスを使用したアクセスプランを選択するか否か | 単一 | 省略可能 | ○ | ○ | ○ | |
JOIN_ORDER | 結合表と他の表のジョイン順 | 単一 | 省略可能 | ○ | ○ | ○ | |
JOIN_RULE | ジョインする方法 | 単一 | 省略可能 | ○ | ○ | ○ | |
MAX_SCAN_RANGE | インデックス、クラスタキー、または分割キーの検索範囲の最大数 | 単一 | 省略可能 | ○ | ○ | ○ | |
SAME_COST_JOIN_ORDER | 最適化情報を設定していない場合、ジョイン順をV5以前と同じにするか否か | 単一 | 省略可能 | ○ | ○ | ○ | |
SCAN_KEY_ARITHMETIC_RANGE | 四則演算の検索範囲について、インデックスの範囲検索またはクラスタキーの検索を行うか否か | 単一 | 省略可能 | ○ | ○ | ○ | |
SCAN_KEY_CAST | 探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行うか否か | 単一 | 省略可能 | ○ | ○ | ○ | |
SORT_HASHAREA_SIZE | ソート処理がレコードをハッシングして格納するための領域サイズ | 単一 | 省略可能 | ○ | ○ | ○ | |
アプリケーション単位でSQL性能情報を取得するか否か | 単一 | 省略可能 | - | ○ | - | ||
SS_RATE | 述語ごとの検索範囲の選択率の値 | 単一 | 省略可能 | ○ | ○ | ○ | |
TID_SORT | インデックス検索と表データ取得のアクセスモデルでTIDソートを利用するか否か | 単一 | 省略可能 | ○ | ○ | ○ | |
TID_UNION | TIDユニオンマージのアクセスモデルを有効にするか否か | 単一 | 省略可能 | ○ | ○ | ○ | |
USQL_LOCK | UPDATE文:探索またはDELETE文:探索の更新標的レコードを位置づける部分の占有モード | 単一 | 省略可能 | ○ | ○ | ○ | |
メッセージ | 表示するメッセージの言語種を設定する | 単一 | 省略可能 | - | ○ | - | |
SQL文実行時にエラーメッセージを表示するか否か | 単一 | 省略可能 | - | ○ | - | ||
リカバリ | アプリケーションのリカバリ水準を指定する | 単一 | 省略可能 | - | ○ | - | |
予約語とSQL機能 | アプリケーションの予約語とSQL機能のレベルを設定する | 単一 | 省略可能 | - | ○ | - | |
並列クエリ | データベースを並列に検索する場合の多重度 | 単一 | 省略可能 | ○ | ○ | ○ | |
アプリケーション単位またはコネクション単位に、データベースを並列に検索するか否か | 単一 | 省略可能 | ○ | ○ | - | ||
その他 | 表の設計変更により表の列を変更した場合、アプリケーションへの影響をチェックするか否か | 単一 | 省略可能 | - | ○ | - | |
アーカイブログ満杯時にエラー復帰するか否か | 単一 | 省略可能 | - | ○ | ○ | ||
シグナルをアプリケーションで利用するか否か | 単一 | 省略可能 | - | ○ | - |
SV:サーバ用の動作環境ファイルへの指定が可能であるか否かを表します。
CL:クライアント用の動作環境ファイルへの指定が可能であるか否かを表します。
SY:システム用の動作環境ファイルへの指定が可能であるか否かを表します。
○:指定可
-:指定不可
注1)データベース簡単運用の場合は、省略値が異なります。省略値については、各実行パラメタの説明を参照してください。
注2)データベース簡単運用の場合は、指定できません。
参照
アクセスプランおよび性能情報に関する実行パラメタの詳細については、“SQLTOOLユーザーズガイド”を参照してください。
◆通信に関する実行パラメタ
BUFFER_SIZE = ([初期量][,拡張量])
バッファの初期量を1~10240の範囲で指定します。省略した場合は、32が指定されたものとみなします。単位はキロバイトです。
拡張量を1~10240の範囲で指定します。省略した場合は、32が指定されたものとみなします。単位はキロバイトです。
CLUSTER_SERVICE_NAME = (クラスタサービス名)
PRIMECLUSTERまたはSafeCLUSTERと連携する場合、クラスタシステムに登録されているクラスタサービス名を記述します。
接続するデータベースに対するアクセス方法により、指定形式が異なります。
ローカルアクセスの場合
DEFAULT_CONNECTION = ([RDBシステム名.]データベース名)
リモートアクセスの場合
DEFAULT_CONNECTION = (SQLサーバ名,認可識別子,パスワード)
アプリケーションにCONNECT文を記述しない場合
CONNECT文にキーワード“DEFAULT”を指定した場合
CONNECT文のユーザ指定を省略した場合
サーバがマルチRDB運用をしている場合に結合するRDBシステム名を指定します。省略した場合は、環境変数RDBNAMEに設定されたRDBシステム名が指定されたものとみなします。
接続するデータベース名を指定します。
接続するSQLサーバ名を指定します。
OSのログイン名、または、CREATE USER文で登録されている利用者名を指定します。
OSのパスワード、または、CREATE USER文で登録されているパスワードを指定します。
以下の場合、ログイン名およびパスワードの指定は不要です。
この場合、実行時のログイン名および実行時のパスワードが使用されます。
ローカルアクセスの場合
接続先ホスト名に自端末のIPアドレス、自端末のホスト名、“localhost”またはループバックアドレスを指定したリモートアクセスの場合
ログイン名およびパスワードは、各サーバでは以下のように扱われます。
ログイン名
ログイン名のパスワード
ユーザ名(ログオン名)
ユーザ名のパスワード
SERVER_ENV_FILE = (SQLサーバ名,ファイル名)
CONNECT文の実行で指定するSQLサーバ名を記述します。
サーバ用の動作環境ファイル名を、絶対パスで指定します。
SERVER_SPEC = (通信方法,SQLサーバ名,データ資源名,ホスト名,ポート番号[,[接続サーバ種別]])
CONNECT文でSQLサーバ名を指定した場合、サーバとの通信状態を確立するために必要な情報を記述します。このため、CONNECT文で接続するSQLサーバ名は、アプリケーションの実行時にすべてSERVER_SPECに記述しておく必要があります。ローカルのデータベースだけにアクセスする場合は、この実行パラメタは指定しません。
リモートアクセスの通信方法として、以下のどちらかを選択します。
RDB2_TCP: TCP/IP通信を行います。通信データを暗号化しない場合に指定します。
RDB2_TCPS:TCP/IP(SSL)通信を行います。通信データを暗号化する場合に指定します。
データベース簡単運用では、通信データの暗号化はできません。
リモートアクセスで使用するポート番号を指定します。
Symfoware Serverのバージョンレベルや対象のプラットフォームによって、デフォルトのポート番号が異なります。サーバ側で定義されているポート番号を確認の上、指定してください。
ポート番号の詳細については、“2.2.1 コネクションの接続方法”を参照してください。
以下のどちらかを選択します。ただし、通信データを暗号化する場合には、OPENのみが指定できます。また、省略した場合は、OPENが指定されたものとみなします。
OPEN: Solaris、Linux、Windows(R)上のSymfoware/RDBと接続する場合に指定します。
GS: グローバルサーバ上のSymfoware/RDBと接続する場合に指定します。
注意
通信データを暗号化する場合、システム用の動作環境ファイルのパラメタ指定が必要です。詳細は、“セットアップガイド”を参照してください。
TRAN_SPEC = ({NONE | TRANSACTION_ROLLBACK})
SQL文が実行中にエラーとなった場合のトランザクションの対処方法を指定します。
なお、本実行パラメタは、トランザクションモニタ配下では指定できません。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
TRAN_SPEC = (NONE)
各プラットフォームのトランザクションの仕様に従います。
SQL文の実行がエラーとなった場合に、トランザクションをロールバックします。
TRAN_TIME_LIMIT = (最大トランザクション実行時間)
1つのトランザクションで使用可能な時間を指定します。
指定時間を経過した場合には、トランザクションをロールバックして、接続中のコネクションを切断します。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
TRAN_TIME_LIMIT = (0)
最大トランザクション実行時間を、0~32767の範囲で指定します。単位は秒です。0を指定すると無制限になります。
WAIT_TIME = (待ち時間)
WAIT_TIMEで指定された時間内に、サーバからのデータが受信できなかった場合には、実行中のSQL文はエラーとなり、コネクションは切断されます。
なお、本実行パラメタは、トランザクションモニタ配下では指定できません。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
WAIT_TIME = (0)
待ち時間を0~32767の範囲で指定します。単位は秒です。0を指定した場合は、データが受信できるまで待ちます。
◆通信データの暗号化に関する実行パラメタ
SSL_CLI_CA_CERT_FILE = (SQLサーバ名,CA証明書ファイル名)
サーバ認証で使用する認証局(Certificate Authority: CA)証明書ファイルの配置先を指定します。
CA証明書ファイルは、データベース管理者が認証局に発行手続きを行って取得後、アプリケーションを開発および実行するマシンに配布されます。
通信データを暗号化しない場合に本パラメタを設定するとエラーになります。
SERVER_SPECで指定したSQLサーバ名を指定します。
CA証明書のファイル名を絶対パスで指定します。
指定できるファイル形式は、PEM形式のみです。
指定例:
SSL_CLI_CA_CERT_FILE = (SV1,C:\CertificateAuthority\CAFlie.pem)
◆作業領域に関する実行パラメタ
DESCRIPTOR_SPEC = (WITH MAX省略値)
MAX_SQL = (SQL文の数)
同一トランザクション内で指定できるSQL文の数を指定します。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
MAX_SQL = (1024)
ポイント
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文を複数回実行するときに、最初の実行で作成した処理手順を使用することによって処理効率の向上を図っています。MAX_SQLに指定した数の処理手順を格納するバッファのサイズを指定します。この領域は、サーバ側で獲得されます。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
OPL_BUFFER_SIZE = (8192)
SQLの処理手順を格納するバッファのサイズを1~1280000の範囲で指定します。単位はキロバイトです。
注意
同一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 = ([個数][,バッファサイズ])
Symfoware/RDBでは、FETCH文によってデータを取り出すときの性能を良くするため、複数の行を一度に取り出します。この行を格納するバッファの数とサイズを指定します。バッファサイズを大きくするほど、FETCHの性能が良くなります。また、1つのカーソルが1つのバッファを使用するので、複数のバッファを用意すれば、複数のカーソルの操作の性能を良くすることができます。バッファを使用しない場合は、個数に0を指定します。この領域は、クライアント側とサーバ側で獲得されます。
バッファサイズを大きくするほど性能は良くなりますが、メモリが圧迫され、他のアプリケーションの実行に支障が発生する場合があります。バッファサイズを大きくする場合、メモリの空き容量に注意してください。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
RESULT_BUFFER = (2,32)
使用するバッファの個数を0~255の範囲で指定します。省略した場合は、2が指定されたものとみなします。
使用するバッファのサイズを1~10240の範囲で指定します。省略した場合は、32が指定されたものとみなします。単位はキロバイトです。
SORT_MEM_SIZE = (メモリサイズ)
ソート処理のために作業用ソート領域としてサーバ側で使用するメモリの大きさを指定します。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。
ソート処理のデータ量がSORT_MEM_SIZEに指定した値を超えると、二次記憶の作業用ソート領域にデータを書き出し、書き出したデータのソートを行います。このとき、二次記憶からのソートデータの読み込み回数はソートデータの全体量とSORT_MEM_SIZEに指定した値に依存します。このため、ソートデータの全体量に応じて、SORT_MEM_SIZEに指定する値を見積もってください。
ソート処理のデータ量がSORT_MEM_SIZEに指定した値の1万倍以上になると、ソート処理で必要なメモリが不足し、「JYP2221E 実行時の制限値を超えました.code:“4”」のエラーとなる場合があります。ただし、メモリ上の作業域の必要最低限なサイズは、作業用ソート領域へのレコードの格納順に依存するため、SORT_MEM_SIZEに指定した値の1万倍は目安となります。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
SORT_MEM_SIZE = (2112)
サーバ側で使用するメモリの大きさを64~2097150の範囲で指定します。単位はキロバイトです。
WORK_ALLOC_SPACESIZE = ([初期量][,[増分量][,[最大量][,[保持指定]]]])
作業用ソート領域および作業用テーブルとしてサーバ側で使用するファイルサイズの初期量、増分量、最大量、保持指定を指定します。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
WORK_ALLOC_SPACESIZE = (10000,50000,WORK_PATHで指定したパス名のディスク容量,HOLD)
初期量、増分量、最大量、保持指定のいずれかの値が省略された場合は、その値のデフォルト値が指定されたものとみなします。
以下に指定例を示します。
WORK_ALLOC_SPACESIZE = (10000,50000)
WORK_ALLOC_SPACESIZE = (,50000,100000)
作業用ソート領域および作業用テーブルとして外部ファイルを作成する場合の初期量を5000~1000000の範囲で指定します。省略した場合は、10000が指定されたものとみなします。単位はキロバイトです。
作業用ソート領域および作業用テーブルとして作成した外部ファイルを拡張する場合の増分量を1000~1000000の範囲で指定します。省略した場合は、50000が指定されたものとみなします。単位はキロバイトです。
作業用ソート領域および作業用テーブルとして作成する外部ファイルの最大量を5000~33553408の範囲で指定します。省略した場合は、WORK_PATHで指定したパス名のディスク容量が指定されたものとみなします。単位はキロバイトです。
以下の中から1つを選択します。省略した場合は、HOLDが指定されたものとみなします。
FREE:初期量として獲得した作業用ソート領域および作業用テーブルの外部ファイルは、DISCONNECT文の実行時に解放します。
拡張量として獲得した作業用ソート領域および作業用テーブルの外部ファイルは、その領域を使用したSQL文の実行完了時に解放します。
HOLD:作業用ソート領域および作業用テーブルとして作成した外部ファイルは、DISCONNECT文の実行時に解放します。
WORK_MEM_SIZE = (メモリサイズ)
作業用テーブルとしてサーバ側で使用するメモリの大きさを指定します。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
WORK_MEM_SIZE = (128)
サーバ側で使用するメモリの大きさを64~2097150の範囲で指定します。単位はキロバイトです。
WORK_PATH = (パス名[,パス名]・・・)
サーバ側で使用するソート作業域、作業用テーブル域の獲得先ディレクトリを指定します。“Symfoware/RDBを起動するユーザID”および“RDBコマンドを実行するユーザID”には、指定するディレクトリへの書込み権が必要です。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
WORK_PATH = (/var/tmp)
WORK_PATH = (Symfoware/RDBがインストールされているディレクトリ\TMP)
データベース簡単運用で、いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合は、以下の値が設定されます。
WORK_PATH = (データ格納先ディレクトリ\RDBシステム名\USR\TMP)
参照
作業用ソート領域および作業用テーブルの見積りについては、“アプリケーション開発ガイド(共通編)”の“ソート作業域の見積り”を参照してください。
データベース簡単運用の場合の省略値として設定されるデータ格納先ディレクトリについては、“データベース簡単運用ガイド”を参照してください。
獲得先ディレクトリを指定します。
◆データ処理に関する実行パラメタ
CAL_ERROR = ({REJECT | NULL})
例外エラーとします。
演算結果をNULLとします。
CHARACTER_TRANSLATE = ({CLIENT | SERVER})
データベースシステムの文字コード系が、アプリケーションで使用している文字コード系と異なる場合、コード変換をクライアントで行うか、サーバで行うかを指定します。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
CHARACTER_TRANSLATE = (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 | ○ | ○ | ○ | ◎ |
◎:指定可能(省略値)
○:指定可能
×:指定不可能
ホスト変数内文字列のデータの文字コード系がEUCコードのS90コードの場合に指定します。
ホスト変数内文字列のデータの文字コード系がEUCコードのU90コードの場合に指定します。EUCは互換として存在します。
ホスト変数内文字列のデータの文字コード系がシフトJISコードの場合に指定します。
ホスト変数内文字列のデータの文字コード系がUNICODEの場合に指定します。
注意
アプリケーションをCOBOLで記述している場合は、本パラメタは無視されます。詳細は、“2.3.1 文字コード系の決定”を参照してください。
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 | COBOL | EUC | EUC | COBOL | COBOL | SJIS | UTF8 | UCS2 | UCS2B |
EUC_S90 | ◎ | ○ | × | × | × | |||||
EUC_U90 | × | ◎ | ○ | × | × | |||||
EUC | ||||||||||
SJIS | × | × | ◎ | × | ||||||
UTF8 | × | × | × | ◎ | ○ |
◎:有効(省略値)
○:有効
×:無効(指定値を無視して省略値になります)
データベースに格納される各国語文字列型データの文字コード系とNCHAR_CODEとの関係を以下に示します。
データベース | NCHAR_CODEの指定 | |||||||||
---|---|---|---|---|---|---|---|---|---|---|
EUC | COBOL | EUC | EUC | COBOL | COBOL | SJIS | UTF8 | UCS2 | UCS2B | |
EUCコード | ◎ | × | ○ | ○ | ||||||
EUCコード | × | ◎ | ○ | ○ | ||||||
シフトJISコード | ○ | ○ | ◎ | ○ | ||||||
UNICODE | ○ | ○ | ○ | ◎ |
◎:指定可能(省略時は、CHAR_SETに設定される値かCHAR_SETの省略値)
○:指定可能
×:指定不可能
ホスト変数内文字列のデータの文字コード系がEUCコードのS90コードの場合に指定します。
ホスト変数内文字列のデータの文字コード系がEUCコードのU90コードの場合に指定します。EUCは下位互換として存在します。
ホスト変数内文字列のデータの文字コード系がEUCコードのS90コードのCOBOLの内部表現形式(COBOL_EUC)の場合に指定します。
ホスト変数内文字列のデータの文字コード系がEUCコードのU90コードのCOBOLの内部表現形式(COBOL_EUC)場合に指定します。COBOL_EUCは下位互換として存在します。
ホスト変数内文字列のデータの文字コード系がシフトJISコードの場合に指定します。
ホスト変数内文字列のデータの文字コード系がUNICODEのUTF-8コードの場合に指定します。
ホスト変数内文字列のデータの文字コード系がUNICODEのUCS-2コードの場合に指定します。
ホスト変数内文字列のデータの文字コード系がUNICODEのUCS-2コードのバイトスワップ形式の場合に指定します。
注意
アプリケーションをCOBOLで記述している場合は、本パラメタは無視されます。詳細は、“2.3.1 文字コード系の決定”を参照してください。
SURROGATE_PAIR_NUMBER
SURROGATE_PAIR_NUMBER = ({1 | 2})
各国語文字を扱う関数は、データベースの文字コード系に従って処理されます。データベースの文字コード系がUNICODEの場合、各国語文字列を扱う関数はUNICODEの補助文字(1~16面の4バイト文字)をUCS-2形式の2文字(2バイト×2)として認識しています。本実行パラメタを指定することにより、従来2文字として認識していた補助文字を1文字として認識します。補助文字を1文字として扱うと、補助文字の文字数を意識しないで以下の関数を使うことができます。
POSITION、CHARINDEX
CHARACTER_LENGTH、LEN
SUBSTRING、LEFT、RIGHT
TRIM
LPAD
RPAD
REPLACE
REPLICATE
REVERSE
STUFF
本実行パラメタは、サーバおよびクライアントがWindows(R)の場合に利用できます。
本実行パラメタは、データベースの文字コード系がUNICODEの場合にのみ有効となります。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
SURROGATE_PAIR_NUMBER = (2)
各国語文字の補助文字1文字(4バイト)を1文字として扱います。
従来どおり、各国語文字の補助文字1文字(4バイト)を2文字(2バイト×2)として扱います。
◆表・インデックスに関する実行パラメタ
DEFAULT_DSI_TYPE = ({SEQUENTIAL | OBJECT})
格納構造定義を行わない表を作成する場合に、Symfoware/RDBが自動的に生成する表のDSOの格納構造を選択します。
本パラメタにより格納構造の選択ができるのは、表の形式が以下の条件をすべて満たしている場合のみです。
表の最後に1つだけ、BLOB型でサイズに32キロバイト以上を指定している場合
BLOB型以外の列は固定長属性の場合
BLOB型の列にNOT NULL制約を指定している場合
上記以外の場合は、表のDSOはSEQUENTIAL構造となります。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
DEFAULT_DSI_TYPE = (OBJECT)
表のDSOとしてSEQUENTIAL格納構造のDSOを定義します。
表のDSOとしてOBJECT格納構造のDSOを定義します。
DEFAULT_INDEX_SIZE = (ベース部ページ長,インデックス部ページ長,ベース部初期量,インデックス部初期量[,拡張量,拡張契機])
格納構造定義を行わないインデックスを作成する場合、インデックスのベース部とインデックス部の割付け量、ページ長などを指定します。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
DEFAULT_INDEX_SIZE = (8,8,30720,10240,10240,3072)
ベース部のページ長を1、2、4、8、16、32の中から指定します。単位はキロバイトです。
インデックス部のページ長を1、2、4、8、16、32の中から指定します。単位はキロバイトです。
ベース部の初期量を2~2097150の範囲で指定します。単位はキロバイトです。
インデックス部の初期量を2~2097150の範囲で指定します。単位はキロバイトです。
インデックスのベース部の拡張量を1~2097150の範囲で指定します。省略した場合は、10240が指定されたものとみなします。単位はキロバイトです。インデックス部の拡張量は、ベース部の5分の1の値となります。
ベース部およびインデックス部の拡張を行うタイミングとして、DSIの空き容量を0~2097150の範囲で指定します。インデックスのDSIの空き容量がここで指定した値になると、インデックスのベース部およびインデックス部の拡張が行われます。省略した場合は、3072が指定されたものとみなします。単位はキロバイトです。
注意
自動容量拡張の拡張量と拡張契機は、ページ長単位に繰り上げますので、ページ長の倍数で指定してください。
ベース部の5分の1がインデックス部のページ長の倍数でない場合、インデックス部のページ長の倍数に繰り上げます。
インデックス定義時には、容量拡張を行いません。拡張量および拡張契機は、インデックス定義した後に有効となります。
DEFAULT_OBJECT_TABLE_SIZE = (ページ長,初期量[,拡張量,拡張契機])
格納構造定義を行わない表を作成する場合、OBJECT構造の表のデータ格納域の割付け量、ページ長などを指定します。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
DEFAULT_OBJECT_TABLE_SIZE = (32,32768,32768,0)
データ格納域のページ長を指定します。必ず32を指定します。単位はキロバイトです。
データ格納域の初期量を2~2097150の範囲で指定します。単位はキロバイトです。
データ格納域の拡張量を1~2097150の範囲で指定します。省略した場合は、32768が指定されたものとみなします。単位はキロバイトです。
データ格納域の拡張を行うタイミングとして、表のDSIの空き容量を0~2097150の範囲で指定します。表のDSIの空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。省略した場合は、0が指定されたものとみなします。単位はキロバイトです。
注意
自動容量拡張の拡張量と拡張契機は、ページ長単位に繰り上げますので、ページ長の倍数で指定してください。
DEFAULT_TABLE_SIZE = (ページ長,初期量[,拡張量,拡張契機])
格納構造定義を行わない表を作成する場合、表のデータ格納域の割付け量、ページ長などを指定します。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
DEFAULT_TABLE_SIZE = (32,30720,10240,3072)
データ格納域のページ長を1、2、4、8、16、32の中から指定します。単位はキロバイトです。
データ格納域の初期量を2~2097150の範囲で指定します。単位はキロバイトです。
データ格納域の拡張量を1~2097150の範囲で指定します。省略した場合は、10240が指定されたものとみなします。単位はキロバイトです。
データ格納域の拡張を行うタイミングとして、表のDSIの空き容量を0~2097150の範囲で指定します。表のDSIの空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。省略した場合は、3072が指定されたものとみなします。単位はキロバイトです。
注意
自動容量拡張の拡張量と拡張契機は、ページ長単位に繰り上げますので、ページ長の倍数で指定してください。
DSI_EXPAND_POINT=({ON | OFF})
アプリケーションによるデータ操作で、DSIに指定された拡張契機(rdbalmdsiコマンドまたはDSI定義文で定義します)を無効とするか否かを指定します。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
DSI_EXPAND_POINT=(ON)
DSIに定義された拡張契機は有効になります。アプリケーションによるデータ操作で、DSIの空きページ容量が拡張契機に達した時点で、領域を拡張します。
DSIに定義された拡張契機は無効になります。アプリケーションによるデータ操作で、DSIの空きページ容量が拡張契機に達しても、領域を拡張しません。この場合、DSIの空き領域が枯渇した時点で、領域を拡張します。
INCLUSION_DSI = (データベース名.DSI名[,データベース名.DSI名・・・])
アプリケーションで、DSIを限定したい表のDSI名を指定します。
アプリケーションでは、限定されたDSIを含む表に対しては、そのDSIだけがデータ操作の範囲となります。また、本実行パラメタの指定により、アプリケーション中での探索条件の記述が省略できます。なお、アプリケーションでDSIを限定していない表に対しては、データ操作をすることができます。
DSIを限定したい表のDSI名を指定します。
TEMPORARY_INDEX_SIZE = (ベース部初期量,インデックス部初期量[,拡張量,拡張契機])
一時表にインデックスを定義する場合に、インデックスのベース部とインデックス部の割付け量を指定します。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
TEMPORARY_INDEX_SIZE = (160,64,256,0)
ベース部の初期量を64~2097150の範囲で指定します。単位はキロバイトです。
インデックス部の初期量を64~2097150の範囲で指定します。単位はキロバイトです。
インデックスのベース部の拡張量を32~2097150の範囲で指定します。省略した場合は、256が指定されたものとみなします。単位はキロバイトです。インデックス部の拡張量は、ベース部の5分の1の値となります。
ベース部およびインデックス部の拡張を行うタイミングとして、インデックスの空き容量を0~2097150の範囲で指定します。インデックスの空き容量がここで指定した値になると、インデックスのベース部およびインデックス部の拡張が行われます。省略した場合は、0が指定されたものとみなします。単位はキロバイトです。
注意
自動容量拡張の拡張量と拡張契機は、ページ長単位に繰り上げますので、ページ長の倍数で指定してください。
ベース部の5分の1がインデックス部のページ長の倍数でない場合、インデックス部のページ長の倍数に繰り上げます。
TEMPORARY_TABLE_SIZE = (初期量[,拡張量,拡張契機])
一時表を定義する場合に、表のデータ格納域の割付け量を指定します。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
TEMPORARY_TABLE_SIZE = (256,512,0)
データ格納域の初期量を64~2097150の範囲で指定します。単位はキロバイトです。
データ格納域の拡張量を32~2097150の範囲で指定します。省略した場合は、512が指定されたものとみなします。単位はキロバイトです。
データ格納域の拡張を行うタイミングとして、表の空き容量を0~2097150の範囲で指定します。表の空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。省略した場合は、0が指定されたものとみなします。単位はキロバイトです。
注意
自動容量拡張の拡張量と拡張契機は、ページ長単位に繰り上げますので、ページ長の倍数で指定してください。
◆排他に関する実行パラメタ
DSO_LOCK = (DSO名[/[P][占有モード]][,DSO名[/[P][占有モード]]・・・])
アプリケーションで使用するDSOおよびその占有の単位、占有モードを指定します。
本パラメタを指定した場合、指定されなかったDSOについては、占有の単位がページとなります。
DSO_LOCKが指定された場合、SET TRANSACTION文、クライアント用の動作環境ファイルのDEFAULT_ACCESS_MODEおよびDEFAULT_ISOLATIONは指定できません。
占有の単位は、動作環境ファイルのDSO_LOCKおよびR_LOCKでの指定により決定します。
なお、動作環境ファイルのR_LOCKの値により、DSO_LOCKを指定できない場合があります。以下にDSO_LOCKとR_LOCKの関係を示します。
クライアント用の動作環境ファイルのR_LOCK | システム用の動作環境ファイルのR_LOCK | DSO_LOCKの指定 | 占有の単位 |
---|---|---|---|
NO | NO | 指定可 | DSO_LOCKの指定による(注1) |
YES | 指定可 | DSO_LOCKの指定による(注1) | |
YES | NO | 指定不可 | 行単位で占有(注2) |
YES | 指定不可 | 行単位で占有(注2) | |
省略 | NO | 指定可 | DSO_LOCKの指定による(注1) |
YES | 指定不可 | 行単位で占有(注2) |
注1) DSO_LOCKの指定を省略した場合、Symfoware/RDBによって占有の単位が選択されます。詳細は、“アプリケーション開発ガイド(共通編)”の“排他の属性と選択方法”の“Symfoware/RDBによる選択”を参照してください。
注2) DSO_LOCKを指定した場合、CONNECT文実行時にエラーとなります。
アプリケーションで使用するDSO名を以下の形式で指定します。
データベース名.DSO名
DSOの占有の単位をページとします。省略した場合は、占有の単位はDSIになります。
DSO名に指定されたDSOにPRECEDENCE(1)が指定されている場合、本パラメタは指定できません。
占有のモードとして以下のいずれかを指定します。省略した場合は、EXが指定されたものとみなします。
- EX: 非共有モードの排他を行います。
- SH: 共有モードの排他を行います。
ISOLATION_WAIT = ({WAIT | REJECT})
あるトランザクションで資源にアクセスしようとしたとき、別のトランザクションがその資源を占有していた場合に、資源の占有が解除されるまで待つか否かを指定します。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
ISOLATION_WAIT = (WAIT)
資源の占有が解除されるまで待ちます。
エラーとしてアプリケーションに復帰します。
R_LOCK = ({YES | NO})
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
R_LOCK = (YES)
占有の単位を行とします。このパラメタを指定した場合、クライアント用およびサーバ用の動作環境ファイルにDSO_LOCKパラメタを指定することはできません。
占有の単位は、DSO_LOCKの指定に従います。このパラメタを指定し、かつDSO_LOCKが指定されていない場合は、Symfoware/RDBによって自動的に占有の単位が選択されます。
データベース簡単運用の場合、占有の単位は、表またはインデックスとなります。
参照
詳細については、“アプリケーション開発ガイド(共通編)”の“排他制御”を参照してください。
また、データベース簡単運用の場合は、“アプリケーション開発ガイド(共通編)”の“トランザクションと排他制御(データベース簡単運用の場合)”を参照してください。
注意
動作環境ファイルのR_LOCKがNOの場合、動作環境ファイルのDEFAULT_ISOLATIONにREPEATABLE_READを指定、またはSET TRANSACTION文にREPEATABLE READを指定しても、独立性水準はSERIALIZABLEになります。
動作環境ファイルのR_LOCKがYESの場合、動作環境ファイルのDEFAULT_ISOLATIONまたはSET TRANSACTION文にSERIALIZABLEを指定しても、独立性水準はREPEATABLE READになります。
データベース簡単運用でない場合、動作環境ファイルのR_LOCKがNOのときには、DSO定義でPRECEDENCE(1)が指定されたSEQUENTIAL構造の表にアクセスするアプリケーションの占有の単位はDSIになります。
◆トランザクションに関する実行パラメタ
DEFAULT_ACCESS_MODE = ({READ_ONLY | READ_WRITE})
トランザクションアクセスモードの初期値を指定します。DEFAULT_ACCESS_MODEが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
DEFAULT_ACCESS_MODE = (READ_WRITE)
注意
動作環境ファイルのDSO_LOCKを指定して、DEFAULT_ACCESS_MODEを指定した場合は、サーバ接続時にエラーが発生します。
rdbuptコマンド実行時は、本パラメタを指定することはできません。
参照
rdbuptコマンドの詳細は、“コマンドリファレンス”を参照してください。
トランザクションアクセスモードの初期値をREAD ONLYとします。
トランザクションアクセスモードの初期値をREAD WRITEとします。
DEFAULT_ISOLATION = ({DEFAULT | READ_UNCOMMITTED | READ_COMMITTED | REPEATABLE_READ | SERIALIZABLE})
独立性水準の初期値を指定します。DEFAULT_ISOLATIONが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
DEFAULT_ISOLATION = (DEFAULT)
データベース簡単運用で本実行パラメタの指定を省略した場合は、省略値として以下の値が設定されます。
DEFAULT_ISOLATION = (READ COMMITTED)
独立性水準の初期値はシステム用の動作環境ファイルにおけるDEFAULT_ISOLATIONの指定に従います。
独立性水準の初期値をREAD UNCOMMITTEDとします。
独立性水準の初期値をREAD COMMITTEDとします。
独立性水準の初期値をREPEATABLE READとします。
独立性水準の初期値をSERIALIZABLEとします。
注意
動作環境ファイルのR_LOCKがNOの場合、DEFAULT_ISOLATIONにREPEATABLE_READを指定しても、独立性水準はSERIALIZABLEになります。
動作環境ファイルのR_LOCKがYESの場合、DEFAULT_ISOLATIONにSERIALIZABLEを指定しても、独立性水準はREPEATABLE READになります。
動作環境ファイルのDSO_LOCKを指定して、DEFAULT_ISOLATIONを指定した場合は、サーバ接続時にエラーが発生します。
rdbuptコマンド実行時は、本パラメタを指定することはできません。
参照
rdbuptコマンドの詳細は、“コマンドリファレンス”を参照してください。
◆デバッグに関する実行パラメタ
DIV_TRACE_FILE = ({YES | NO})
複数のアプリケーションが動作する場合、出力ファイル名(SQL_SNAP機能やROUTINE_SNAP機能によって出力されるファイル、および、アクセスプラン情報やSQL性能情報を取得するファイル)の後ろに、プロセスIDなどの情報を付加して個別のトレース情報を出力するか否かを指定します。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
DIV_TRACE_FILE = (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機能を利用するかどうかを指定します。
ROUTINE_SNAP機能は、SQL手続き文の実行情報をファイルに出力する機能です。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
ROUTINE_SNAP = (OFF)
ROUTINE_SNAP機能の詳細および使用方法については、“7.2 アプリケーションのデバッグ”を参照してください。
ROUTINE_SNAP機能を利用する場合に指定します。
ROUTINE_SNAP機能を利用しない場合に指定します。
SQL手続き文の実行情報の出力先のサーバ側のファイル名を、絶対パスで指定します。指定されたファイルがすでに存在する場合は、情報を追加して出力します。
複数のアプリケーションが動作する場合は、クライアント用の動作環境ファイルの実行パラメタ(DIV_TRACE_FILE)の指定により、出力ファイル名の後にプロセスIDなどの情報を付加して、個別のトレース情報を出力します。
アプリケーションがマルチスレッド環境で動作する場合は、DIV_TRACE_FILEの指定に関係なく、出力ファイル名の後にプロセスIDやセションIDなどの情報を自動的に付加して、個別のトレース情報を出力します。
出力する情報のレベルとして、1または2を指定します。省略した場合は、2が指定されたものとみなします。
出力レベルの指定と出力情報の対応については、“7.2.3 ROUTINE_SNAP機能の利用方法”を参照してください。
SET_CALLBACK = (ライブラリ名)
動的ライブラリを使用してコールバック関数を登録する場合、動的ライブラリ名を指定します。
動的ライブラリ名が絶対パスでの指定でない場合は、以下のディレクトリにライブラリを格納する必要があります。
環境変数LD_LIBRARY_PATHに指定したディレクトリ
PATHに指定したディレクトリ
動的ライブラリ名を指定します。
SQL_SNAP = ({ON | OFF}[,[スナップファイル名][,[出力レベル][,[繰り返し幅]]]])
SQL_SNAP機能を利用するかどうかを指定します。
SQL_SNAP機能は、アプリケーションが実行したSQL文の情報をファイルに出力する機能です。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
SQL_SNAP = (OFF)
SQL_SNAP機能の詳細および使用方法については、“7.2 アプリケーションのデバッグ”を参照してください。
注意
本機能の利用は性能に影響を与えるため、デバッグ作業が終了したら、本実行パラメタの設定をOFFにしてください。
また、格納データを暗号化している場合でも、スナップファイル内の情報は暗号化されません。そのため、デバッグ作業が終了したら、本実行パラメタの設定をOFFにしてください。
SQL_SNAP機能を利用する場合に指定します。
SQL_SNAP機能を利用しない場合に指定します。
SQL_SNAP機能が出力するSQL文の実行情報の出力先ファイル名を指定します。ファイル名を省略した場合は、アプリケーションのファイル名の拡張子を“.SNP”に変更したものとなります。ファイル名にディレクトリの指定がない場合は、カレントディレクトリが指定されたものとみなします。指定されたファイルがすでに存在する場合は、情報を追加して出力します。
複数のアプリケーションが動作する場合は、クライアント用の動作環境ファイルの実行パラメタ(DIV_TRACE_FILE)の指定により、出力ファイル名の後にプロセスIDなどの情報を付加して、個別のトレース情報を出力します。
アプリケーションがマルチスレッド環境で動作する場合は、DIV_TRACE_FILEの指定に関係なく、出力ファイル名の後にプロセスIDやセションIDなどの情報を自動的に付加して、個別のトレース情報を出力します。
出力する情報のレベルとして、1、2、PRC1、PRC2のいずれかを指定します。省略した場合は、2が指定されたものとみなします。
出力レベルの指定と出力情報の対応については、“7.2.2 SQL_SNAP機能の利用方法”を参照してください。
出力する情報の繰り返し幅を、1から32767の範囲で指定します。1つのSQL文の出力を1とします。繰り返し幅を指定した場合は、その幅でサイクリックに情報を出力します。省略した場合は、先頭からの情報をすべて出力します。
◆アクセスプラン・性能情報に関する実行パラメタ
ACCESS_PLAN = ({ON | OFF},ファイル名[,[出力レベル][,[SQLアドバイザ出力レベル]]])
アプリケーション単位でアクセスプランを取得するかどうかを指定します。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
ACCESS_PLAN = (OFF)
参照
アクセスプランについては、“アプリケーション開発ガイド(共通編)”の“アクセスプラン”を参照してください。
アクセスプラン取得機能を利用する場合に指定します。
アクセスプラン取得機能を利用しない場合に指定します。
出力先のサーバ側のファイル名を、絶対パスで指定します。指定されたファイルがすでに存在する場合は、情報を追加して出力します。
また、指定するパスが存在することと、CONNECT文で指定したユーザIDに対する書込み権があることを確認してください。
出力レベルには1または2を指定します。1を指定すると、アクセスプランのセクション情報のみを出力します。2を指定すると、セクション内の各エレメント詳細情報も出力します。省略した場合は、2が指定されたものとみなします。
SQLアドバイザ出力レベルには、“ADVICE”または“NOADVICE”を指定します。“ADVICE”を指定すると、SQL文に対するアドバイスを出力します。“NOADVICE”を指定すると、SQL文に対するアドバイスを出力しません。省略した場合は、“ADVICE”が指定されたものとみなします。
SQL_TRACE = ({ON | OFF},性能情報ファイル名[,出力レベル])
アプリケーション単位でSQL性能情報を取得するかどうかを指定します。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
SQL_TRACE = (OFF)
SQL性能情報取得機能を利用する場合に指定します。
SQL性能情報取得機能を利用しない場合に指定します。
出力先のサーバ側のファイル名を、絶対パスで指定します。指定されたファイルがすでに存在する場合は、情報を追加して出力します。
複数のアプリケーションが動作する場合は、クライアント用の動作環境ファイルの実行パラメタ“DIV_TRACE_FILE”の指定により、出力ファイル名の後にプロセスIDなどの情報を付加して、個別のトレース情報を出力します。
アプリケーションがマルチスレッド環境で動作する場合は、DIV_TRACE_FILEの指定に関係なく、出力ファイル名の後にプロセスIDやセションIDなどの情報を自動的に付加して、個別のトレース情報を出力します。
出力レベルには1または2を指定します。1を指定すると、DSOごとに集計された性能情報を出力します。2を指定すると、DSI単位の情報までも出力します。
データベース簡単運用の場合は、表またはインデックスに関する情報が出力されます。出力レベルによる出力内容に違いはありません。
省略した場合は、2が指定されたものとみなします。
参照
出力レベルによる、出力内容の詳細については、“SQLTOOLユーザーズガイド”の“実行エレメント情報”を参照してください。
参照
以下の実行パラメタの詳細については、“SQLTOOLユーザーズガイド”を参照してください。
CHOOSE_TID_UNION
GROUP_COL_COND_MOVE
IGNORE_INDEX
INACTIVE_INDEX_SCAN
JOIN_ORDER
JOIN_RULE
MAX_SCAN_RANGE
SAME_COST_JOIN_ORDER
SCAN_KEY_ARITHMETIC_RANGE
SCAN_KEY_CAST
SORT_HASHAREA_SIZE
SS_RATE
TID_SORT
TID_UNION
USQL_LOCK
◆メッセージに関する実行パラメタ
MSG_PRINT = ({ON | OFF})
エラーメッセージを標準エラー出力に出力します。
エラーメッセージを標準エラー出力に出力しません。
◆リカバリに関する実行パラメタ
RCV_MODE = ({RCV | NRCV})
◆予約語とSQL機能に関する実行パラメタ
SQL_LEVEL = ({SQL88 | SQL92 | SQL95 | SQL96 | SQL2000 | SQL2007})
アプリケーションの予約語とSQL機能のレベルを設定します。
予約語とSQL機能のレベルを設定することで、キーワードの範囲と利用可能なSQLの機能を変更できます。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
SQL_LEVEL = (SQL2007)
SQLの機能とそれを利用可能なレベルとの関係を以下に示します。
表に記載のない機能は、SQL_LEVELに関係なく利用可能です。
SQL_LEVEL | SQLの機能 | |
---|---|---|
SQL2007 | 数値関数 | ACOS |
ASIN | ||
ATAN | ||
ATAN2 | ||
COS | ||
EXP | ||
LN | ||
POWER | ||
SIGN | ||
SIN | ||
SQRT | ||
TAN | ||
ASCII | ||
OCTET_POSITION | ||
データ列値関数 | LTRIM | |
RTRIM | ||
OCTET_SUBSTRING | ||
CHR | ||
日時値関数 | CNV_TIME | |
CNV_TIMESTAMP | ||
XMLQUERY関数 | ||
述語 | XMLEXISTS述語 | |
ROWNUM | ||
SQL2000以上 | ファンクションルーチン | |
ロール | ||
プロシジャ例外事象 | 条件宣言 | |
ハンドラ宣言 | ||
SIGNAL文 | ||
RESIGNAL文 | ||
SQL96以上 | トリガ | |
行識別子 | ||
並列指定 | ||
SQL95以上 | プロシジャルーチン | |
SQL92以上 | 定数 | 日時定数 |
時間隔定数 | ||
データ型 | 日時型 | |
時間隔型 | ||
BLOB型 | ||
順序定義 | ||
一時表定義 | ||
数値関数 | POSITION | |
EXTRACT | ||
CHAR_LENGTH | ||
CHARACTER_LENGTH | ||
OCTET_LENGTH | ||
データ列値関数 | SUBSTRING | |
UPPER | ||
LOWER | ||
TRIM | ||
日時値関数 | CURRENT_DATE | |
CURRENT_TIME | ||
CURRENT_TIMESTAMP | ||
CAST指定 | ||
CASE式 | NULLIF | |
COALESCE | ||
CASE | ||
結合表 | ||
カーソルのSCROLL指定 |
ポイント
SQL2007の関数名と同名のファンクションルーチンを定義している場合、関数とファンクションルーチンの動作の優先順位は以下になります。
ファンクションルーチン名へのスキーマ名修飾の有無 | SQL_LEVEL | |
---|---|---|
SQL2007 | SQL2000 | |
スキーマ名修飾有 | ファンクションルーチン | ファンクションルーチン |
スキーマ名修飾無 | 関数 | ファンクションルーチン |
SQL文にSQL2007の関数名と同名のファンクションルーチンを指定している場合、関数が優先して動作することで、ファンクションルーチンの結果と異なる結果になる場合があります。
ファンクションルーチンの動作を優先する場合は、SQL_LEVELにSQL2000を指定するか、ファンクションルーチン名をスキーマ名修飾してください。
コンパイル時にRオプションまたはWオプションで予約語とSQL機能のレベルが指定されていた場合も、本パラメタで指定された値が有効となります。
◆並列クエリに関する実行パラメタ
MAX_PARALLEL = (多重度)
SQL文でデータベースを並列に検索する場合の多重度を指定します。
SQL文でデータベースを並列に検索できるのは、問合せ式で並列指定を指定した場合です。表のDSIの数が、指定した多重度よりも少ない場合は、DSIの数を多重度として並列検索を行います。
なお、この実行パラメタは、クライアント用の動作環境ファイルまたはサーバ用の動作環境ファイルにPARALLEL_SCAN=YESを指定した場合、またはSQL文の問合せ式に並列指定“PARALLEL”を指定した場合に有効となります。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、n多重(注)で並列検索を行います。
注意
OSまたは仮想OSが認識している搭載CPUコア数×2が設定されます。ただし、RDB構成パラメタファイルにてRDBCPUNUMが指定されている場合は、RDBCPUNUM×2が設定されます。
SQL文でデータベースを並列に検索する場合の多重度を2~100の範囲で指定します。
PARALLEL_SCAN = ({YES | NO})
アプリケーション単位またはコネクション単位に、データベースを並列に検索するか否かを指定します。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
PARALLEL_SCAN = (NO)
データベースを並列に検索します。この場合、そのアプリケーションの問合せを並列検索で実行できます。
ただし、以下のいずれかの条件を満たす場合、並列検索は実行されず従来のアクセス手順でデータベースをアクセスします。
表がDSI分割されていない、または1つのDSIに対するアクセスの場合
クラスタキーを利用したデータベースアクセスが可能な場合
探索条件にROW_IDを指定した検索の場合
インデックスを利用したデータベースアクセスが可能な場合
データベースを並列に検索しません。
◆その他の実行パラメタ
ALTER_CHECK=({YES | NO})
表の設計変更により表の列を変更した場合に、アプリケーションに影響があるか否かをチェックします。
本実行パラメタは、Symfoware Server Enterprise Extended Edition を使用した場合のみ指定できます。
本実行パラメタの指定を省略した場合は、以下の値が設定されます。
ALTER_CHECK=(NO)
選択リストに“*”を指定したカーソル宣言または単一行SELECT文や、挿入列リストを省略したINSERT文の実行をチェックします。これらのSQL文の実行がエラーになります。
選択リストに“*”を指定したカーソル宣言または単一行SELECT文や、挿入列リストを省略したINSERT文に対するチェックをせずに実行します。
ARC_FULL = ({RETURN | WAIT})
アーカイブログファイルが満杯状態になったとき、エラー復帰するか否かを指定します。
本実行パラメタの設定は、“表7.4 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。
ARC_FULL = (RETURN)
エラーとしてアプリケーションに復帰します。
空きのアーカイブログファイルが作成されるまで待ちます。
注意
“WAIT”を指定した場合、空きのアーカイブログファイルが作成されるまでアプリケーションは無応答状態となりますので注意してください。
本実行パラメタの指定が互いに異なる複数のアプリケーションが、同時に同じDSIを扱うような運用はしないでください。例えば、以下の事象が発生する場合があります。
トランザクションAは、ARC_FULL=RETURNを設定し、アーカイブログ満杯の状態であるとします。トランザクションBは、ARC_FULL=WAITを設定し、アーカイブログ満杯の状態で資源を占有しているとします。このとき、トランザクションBは、空きのアーカイブログファイルが作成されるまで待ちます。同じ資源にアクセスしているトランザクションAは、トランザクションBの終了を待つため、ARC_FULL=RETURNを設定しているにもかかわらず、無応答状態になります。
この場合は、rdblkinfコマンドのlオプションやrdblogコマンドのVオプションかつaオプションで排他やアーカイブログの状況を確認できます。また、アーカイブログに関する以下のシステムメッセージが表示されます。これらの情報をもとに、バックアップ可能なアーカイブログファイルをバックアップするか、または新規にアーカイブログファイルを追加して対処してください。
rdb: WARNING: qdg13336w:転送可能なアーカイブログ域が不足しています rdb: ERROR: qdg03132u:アーカイブログファイルが満杯です
以下のいずれかの処理中にシステムロググループまたはユーザロググループのアーカイブログファイルが満杯状態になった場合の振る舞いについては、本実行パラメタの指定に関わらずシステム用の動作環境ファイルに指定したARC_FULLパラメタに従います。
SQL文の実行で自動容量拡張が動作する。
SQL文中に順序を直接指定して番号を採番する。
表定義のDEFAULT句に順序を指定して、自動的に取得した値を表に挿入する。