ページの先頭行へ戻る
Symfoware Server V12.1.x アプリケーション開発ガイド(JDBCドライバ編)
FUJITSU Software

5.2.3 JDBCデータソース登録ツール

ここでは、JDBCデータソース登録ツールについて説明します。

5.2.3.1 データソース一覧画面

この画面では、データソースの新規登録、設定変更および削除を行います。

図5.1 データソース一覧画面

データソース一覧

すでに登録されているデータソースの一覧を表示します。

データソース名をダブルクリックすると、選択されているデータソースの情報設定画面を開きます。

データソースが未登録の場合、何も表示されません。

[追加]ボタン

データソースの登録に必要な情報の設定画面を開きます。

[削除]ボタン

データソース一覧で選択されているデータソースを削除します。

[構成]ボタン

データソース一覧で選択されているデータソースの情報設定画面を開きます。

[閉じる]ボタン

JDBCデータソース登録ツールを終了します。

[環境設定]ボタン

JDBCデータソース登録ツールのヘルプを表示するための、実行環境を設定します。

[ヘルプ]ボタン

JDBCデータソース登録ツールのヘルプを表示します。


操作方法

[環境設定]ボタンを選択すると、以下のダイアログが表示されます。

図5.2 ヘルプの実行環境設定ダイアログ

データソース一覧から、特定のデータソースを選択して[削除]ボタンを選択すると、確認ダイアログが表示されます。

図5.3 データソースの削除確認ダイアログ

5.2.3.2 データソースの情報設定画面

この画面では、データソースの登録および更新を行うための情報を設定します。

図5.5 データソースの情報設定画面

データソース名

アプリケーションから使用される名前を指定します。

省略できません。

データソース名には、以下の文字が指定できます。

注意

データソース名には、空白を指定することはできません。

また、以下の記号を指定することはできません。

  • \(円記号)

  • '(一重引用符)

  • "(二重引用符)

記号が文字列中に含まれている場合も無効です。

プロトコル

データベースへの接続形態を、以下から選択します。

デフォルトは“ローカル”です。

データベース簡単運用では、通信データの暗号化はできません。

ホスト名

接続するサーバの18バイト以内のホスト名またはIPアドレスを指定します。

ホスト名は、“プロトコル”で“リモート(RDB2_TCP連携)” または“リモート(RDB2_TCPS連携)”を選択した時に指定可能です。

ポート番号

リモートアクセスで使用するポート番号を指定します。

ポート番号は、“プロトコル”で“リモート(RDB2_TCP連携)” または“リモート(RDB2_TCPS連携)”を選択した時に指定可能です。

Symfoware Serverのバージョンレベルや対象のプラットフォームによって、デフォルトのポート番号が異なります。サーバ側で定義されているポート番号を確認の上、指定してください。

ポート番号の詳細については、“2.1.1 コネクションの接続形態”を参照してください。

データ資源名

データベースに接続するためのデータ資源名(データベース名)を指定します。省略できません。

Symfoware/RDBにRDBシステム名を付けて運用する環境で、“プロトコル”で“ローカル”を選択している場合は、以下の形式でRDBシステム名を指定してください。

[記述形式]
<RDBシステム名>.<データ資源名>

RDBシステム名については、システム管理者に確認してください。

省略した場合は、RDBシステム名なしになります。

ユーザー名

データベースに接続する際のユーザIDを指定します。

省略した場合、DataSourceインタフェースのgetConnectionメソッドの引数に、必ず指定してください。

ただし、以下の場合、ユーザIDの指定は不要です。

パスワード

データベースに接続する際の、ユーザIDに対するパスワードを指定します。

省略した場合、DataSourceインタフェースのgetConnectionメソッドの引数に、必ず指定してください。

ただし、以下の場合、パスワードの指定は不要です。

データソースの説明

このデータソースについての説明を入力します。

DBサーバOS

リモートアクセス時に、接続するデータベースサーバの種類を選択します。

“Solaris/Linux/Windows”を選択してください。“OS IV”は、グローバルサーバおよびPRIMEFORCEに接続する場合に選択します。

DBサーバOSは、“プロトコル”で“リモート(RDB2_TCP連携)”を選択した時に指定可能です。

[OK]ボタン

設定した内容を有効にして、このデータソースを登録/更新します。

[キャンセル]ボタン

設定した内容を無効にして、この画面を終了します。

[オプション]ボタン

このデータソースのオプション情報設定画面を開きます。

5.2.3.3 データソースのオプション情報設定画面

この画面は、データソースの登録および更新の際に指定可能なオプションの設定画面です。

図5.7 データソースのオプション情報設定画面

デフォルトスキーマ名

アプリケーション内で使用する、SQL文に対するデフォルトスキーマ名を指定します。

最大コネクション数

データソースごとに、同時に接続可能なコネクション数の上限を指定します。

1~2147483647の範囲で指定します。

デフォルトは256です。

最大プールコネクション数

再利用可能なコネクション数の上限を指定します。

0~2147483647の範囲で指定します。

デフォルトは 256です。

このオプションに 0を指定した場合、コネクションは再利用されずに切断されます。

1以上を指定した場合、Connectionインタフェースのcloseメソッドを実行してもデータベースとの接続は切断されず、コネクションは再利用可能な状態になります。ただし、指定値を超えるコネクションは切断されます。

また、“最大コネクション数”を超える値は指定できません。

ステートメントキャッシュ数

ステートメントキャッシュ機能でキャッシュする、文の上限を指定します。

0~32000の範囲で指定します。

デフォルトは32です。

このオプションに 0を指定した場合、ステートメントキャッシュ機能は無効になります。

キャッシュする文の数の見積りは、以下となります。

キャッシュする文の数 = prepareStatementメソッドまたは
                       prepareCallメソッドで指定するSQL文の数(注)

注) 同じSQL文でも以下の場合は別のSQL文として計算してください。

ステートメント自動クローズ

ステートメントキャッシュ機能の利用時に、PreparedStatementおよびCallableStatementのクローズをJDBCドライバが自動的に行うかどうかを指定します。

自動的に行う場合には、[ステートメント自動クローズ]チェックボックスをチェックします。デフォルトでは、自動クローズは行いません。

このオプションは、ステートメントキャッシュ数に1~32000が指定された場合に指定可能です。

実行した文の数が、「ステートメントキャッシュ数」で設定されたキャッシュ数に達した場合、以降実行される文はキャッシュしませんが、自動クローズの対象にもなりません。

メッセージに使用する言語

JDBCドライバから返却されるエラーメッセージを出力する際の言語を選択します。

その他パラメタ

その他パラメタには、ctuneparamオプションおよびクライアント用の動作環境ファイルを指定することができます。

ctuneparamオプションについては“5.2.3.4 ctuneparamオプションについて”を参照してください。

クライアント用の動作環境ファイルについては“5.2.3.5 クライアント用の動作環境ファイルの指定について”を参照してください。

[OK]ボタン

設定した内容を有効にして、データソースの情報設定画面に戻ります。

[キャンセル]ボタン

設定した内容を無効にして、データソースの情報設定画面に戻ります。

データソースのオプション情報設定画面が表示されている間は、[閉じる]ボタンを選択することはできません。また、右上の[×]をクリックした場合、設定画面を終了するように求める“図5.6 JDBCデータソース登録ツールのインフォメーションダイアログ”が表示されます。ダイアログの[了解]ボタンをクリックすると、データソースのオプション情報設定画面に戻ります。

5.2.3.4 ctuneparamオプションについて

ctuneparamオプションには、Symfoware Serverのクライアント用の動作環境ファイルに相当する指定をすることができます。なお、ctuneparamオプションで設定できるパラメタ名の先頭文字“CLI_”を削除したパラメタが、Symfoware Serverのクライアント用の動作環境ファイルのパラメタと一致しています。

データソースにctuneparamオプションで指定したパラメタはコネクション接続時に読み込まれます。

動作環境パラメタの指定の優先順位

動作環境の設定項目の中には、システム用の動作環境ファイル、サーバ用の動作環境ファイル、ctuneparamオプションおよびクライアント用の動作環境ファイルで重複して指定できるパラメタがあります。優先順位は、以下のとおりです。

参考

データベース簡単運用の場合には、Symfoware Severのインストール時に、システム用の動作環境として最適な環境が設定されるため、チューニングの必要がありません。よって、システム用の動作環境ファイルは、作成不要です。

1. サーバ用の動作環境ファイル

2. ctuneparamオプション

3. クライアント用の動作環境ファイル

4. システム用の動作環境ファイル

【記述形式】

ctuneparam='<param>'
  <param>...ctuneparamオプションで指定するパラメタ

【記述例】

CLI_MAX_SQLとCLI_WAIT_TIMEを指定した場合

ctuneparam='CLI_MAX_SQL=(255);CLI_WAIT_TIME=(30)'

注意

ctuneparamオプションに複数のパラメタを指定する場合、値を“;”(セミコロン)で区切って設定します。

【パラメタ】

JDBCドライバを利用するアプリケーションから指定可能なパラメタは以下となります。

表5.1 ctuneparamオプションのパラメタの種類

分類

パラメタ

概要

優先順位

1

2

3

4

SV

ctuneparamオプション

CL

SY

通信

CLI_BUFFER_SIZE

通信に使用するバッファサイズ

CLI_SERVER_ENV_FILE

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

CLI_TRAN_SPEC

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

CLI_TRAN_TIME_LIMIT

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

CLI_WAIT_TIME

通信時の待ち時間

通信データ
の暗号化

CLI_SSL_CLI_CA_CERT_FILE

サーバ認証で使用するCA証明書ファイルの配置先


(注)


(注)

作業領域
など

CLI_MAX_SQL

同時に操作できるオブジェクトの数

CLI_OPL_BUFFER_SIZE

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

CLI_RESULT_BUFFER

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

CLI_SORT_MEM_SIZE

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

CLI_WORK_ALLOC_SPACESIZE

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

CLI_WORK_MEM_SIZE

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

CLI_WORK_PATH

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

データ処理

CLI_CAL_ERROR

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

CLI_CHARACTER_TRANSLATE

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

UNICODEの補助文字(1~16面の4バイト文字)の文字数

表・インデックス

CLI_DEFAULT_INDEX_SIZE

格納構造定義を行わないインデックスを作成する場合のインデックスのデータ格納域の初期量、拡張量、ページ長など


(注)


(注)


(注)

CLI_DEFAULT_OBJECT_TABLE_SIZE

格納構造定義を行わない表を作成する場合のOBJECT構造の表のデータ格納域の初期量、拡張量、ページ長など


(注)


(注)


(注)

CLI_DEFAULT_TABLE_SIZE

格納構造定義を行わない表を作成する場合の表のデータ格納域の初期量、拡張量、ページ長など


(注)


(注)


(注)

CLI_DSI_EXPAND_POINT

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


(注)


(注)

CLI_INCLUSION_DSI

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


(注)


(注)


(注)

CLI_TEMPORARY_INDEX_SIZE

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


(注)


(注)


(注)

CLI_TEMPORARY_TABLE_SIZE

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


(注)


(注)


(注)

排他

CLI_DSO_LOCK

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


(注)


(注)


(注)

CLI_ISOLATION_WAIT

占有待ちの方式

CLI_R_LOCK

占有の単位を行とする

デバッグ

CLI_ROUTINE_SNAP

ROUTINE_SNAP機能を利用するか否か

アクセスプランおよび性能情報

CLI_ACCESS_PLAN

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

CLI_CHOOSE_TID_UNION

WHERE句にブール演算子”OR”、または、行値構成子を指定した場合、TIDユニオンマージのアクセスプランのみを作成するか否か

CLI_GROUP_COL_COND_MOVE

導出表を絞り込む探索条件を指定した場合、その探索条件を導出表のWHERE句に移動するか否か

CLI_IGNORE_INDEX

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

CLI_INACTIVE_INDEX_SCAN

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

CLI_JOIN_ORDER

結合表と他の表のジョイン順

CLI_JOIN_RULE

ジョインする方法

CLI_MAX_SCAN_RANGE

インデックス、クラスタキー、または分割キーの検索範囲の最大数

CLI_SAME_COST_JOIN_ORDER

最適化情報を設定していない場合、ジョイン順をV5以前と同じにするか否か

CLI_SCAN_KEY_ARITHMETIC_RANGE

四則演算の検索範囲について、インデックスの範囲検索、または、クラスタキー検索を行うか否か

CLI_SCAN_KEY_CAST

探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行うか否か

CLI_SORT_HASHAREA_SIZE

ソート処理がレコードをハッシングして格納するための領域サイズ

CLI_SQL_TRACE

アプリケーション単位でSQL性能情報を取得するか否か

CLI_SS_RATE

述語ごとの検索範囲の選択率の値

CLI_TID_SORT

インデックス検索と表データ取得のアクセスモデルでTIDソートを利用するか否か

CLI_TID_UNION

TIDユニオンマージのアクセスモデルを有効にするか否か

CLI_USQL_LOCK

UPDATE文:探索またはDELETE文:探索の更新標的レコードを位置づける部分の占有モード

リカバリ

CLI_RCV_MODE

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


(注)


(注)

予約語とSQL機能

CLI_SQL_LEVEL

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

並列クエリ

CLI_MAX_PARALLEL

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


(注)


(注)


(注)

CLI_PARALLEL_SCAN

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


(注)


(注)


(注)

その他

CLI_ARC_FULL

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


(注)


(注)

SV:サーバ用の動作環境ファイルへの指定が可能であるか否かを表します。

CL:クライアント用の動作環境ファイルへの指定が可能であるか否かを表します。

SY:システム用の動作環境ファイルへの指定が可能であるか否かを表します。

○:指定可

-:指定不可

注)データベース簡単運用の場合は、指定できません。

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

CLI_BUFFER_SIZE

【指定形式】

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

【実行パラメタの意味】

通信に利用するバッファサイズを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_BUFFER_SIZE = (32,32)

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

バッファの初期量を1~10240の範囲で指定します。省略した場合は、32が指定されたものとみなします。単位はキロバイトです。

拡張量:

拡張量を1~10240の範囲で指定します。省略した場合は、32が指定されたものとみなします。単位はキロバイトです。

CLI_SERVER_ENV_FILE

【指定形式】

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

【実行パラメタの意味】

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

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

接続するデータ資源名を記述します。

ファイル名:

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

CLI_TRAN_SPEC

【指定形式】

CLI_TRAN_SPEC = ({NONE | TRANSACTION_ROLLBACK})

【実行パラメタの意味】

SQL文が実行中にエラーとなった場合のトランザクションの対処方法を指定します。

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

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_TRAN_SPEC = (NONE)

【パラメタの意味】
NONE:

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

TRANSACTION_ROLLBACK:

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

CLI_TRAN_TIME_LIMIT

【指定形式】

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

【実行パラメタの意味】

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

指定時間を経過した場合には、トランザクションをロールバックして、接続中のコネクションを切断します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_TRAN_TIME_LIMIT = (0)

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

最大トランザクション時間を、0~32767の範囲で指定します。単位は秒です。0を指定すると無制限になります。

CLI_WAIT_TIME

【指定形式】

CLI_WAIT_TIME = (待ち時間)

【実行パラメタの意味】

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

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

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

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_WAIT_TIME = (0)

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

待ち時間を0~32767の範囲で指定します。単位は秒です。0を指定した場合は、データが受信できるまで待ちます。

◆通信データの暗号化に関する実行パラメタ

CLI_SSL_CLI_CA_CERT_FILE

【指定形式】

CLI_SSL_CLI_CA_CERT_FILE = (CA証明書ファイル名)

【実行パラメタの意味】

サーバ認証で使用する認証局(Certificate Authority: CA)証明書ファイルの配置先を指定します。

CA証明書ファイルは、データベース管理者が認証局に発行手続きを行って取得後、アプリケーションを開発および実行するマシンに配布されます。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。

通信データを暗号化しない場合に本パラメタを設定するとエラーになります。

【パラメタの意味】
CA証明書ファイル名:

CA証明書のファイル名を絶対パスで指定します。

指定できるファイル形式は、PEM形式のみです。

指定例:

CLI_SSL_CLI_CA_CERT_FILE = (C:\CertificateAuthority\CAFlie.pem)

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

CLI_MAX_SQL

【指定形式】

CLI_MAX_SQL = (オブジェクトの数)

【実行パラメタの意味】

同一Connectionオブジェクト内で同時に作成できる、Statementオブジェクト、PreparedStatementオブジェクト、CallableStatementオブジェクトおよび、以下に記載するDatabaseMetaDataインタフェースの各メソッドを実行して作成できるResultSetオブジェクトの数を指定します。

  • getProcedures

  • getProcedureColumns

  • getTables

  • getSchemas

  • getCatalogs

  • getTableTypes

  • getColumns

  • getPrimaryKeys

  • getTypeInfo

  • getIndexInfo

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_MAX_SQL = (1024)

【パラメタの意味】
オブジェクトの数:

オブジェクトの数を2~32000の範囲で指定します。

ポイント

CLI_MAX_SQLの値を拡張して使用した場合、以下の考慮が必要です。

Symfoware/RDBでは、同一SQL文を繰り返し実行する場合の処理効率を図るため、SQL文を実行するための情報の個数をCLI_MAX_SQLに指定します。また、SQL文の処理手順を格納するOPLバッファのサイズを、CLI_OPL_BUFFER_SIZEに指定します。

SQL文情報の保持期間は、以下のようになります。

  • Statementオブジェクト、PreparedStatementオブジェクト、CallableStatementオブジェクトが作成されてから、close()メソッドが実行されるまで

  • DatabaseMetaDataインタフェースのgetProceduresメソッド、getProcedureColumnsメソッド、getTablesメソッド、getSchemasメソッド、getCatalogsメソッド、getTableTypesメソッド、getColumnsメソッド、getPrimaryKeysメソッド、getTypeInfoメソッド、getIndexInfoメソッドを実行して、ResultSetオブジェクトが作成されてから、ResultSetインタフェースのclose()メソッドが実行されるまで

なお、ResultSetの保持機能が省略されるかResultSetの保持機能にCLOSE_CURSORS_AT_COMMITが指定された場合、DatabaseMetaDataインタフェースから作成されたResultSetは、トランザクションがコミットされると、クローズされます。

CLI_OPL_BUFFER_SIZE

【指定形式】

CLI_OPL_BUFFER_SIZE = (バッファサイズ)

【実行パラメタの意味】

Statementインタフェース、PreparedStatementインタフェース、CallableStatementインタフェースを使用して、同一SQL文を複数回実行するときに、最初の実行で作成した処理手順を使用することによって処理効率の向上を図っています。CLI_MAX_SQLに指定した数の処理手順を格納するバッファのサイズを指定します。この領域は、サーバ側で獲得されます。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_OPL_BUFFER_SIZE = (8192)

【パラメタの意味】
バッファサイズ:

SQLの処理手順を格納するバッファのサイズを1~10240の範囲で指定します。単位はキロバイトです。

注意

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

  • 前回の実行後、保持可能な処理手順の数(CLI_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を指定している場合、またはctuneparamオプションのパラメタCLI_INACTIVE_INDEX_SCANにNOを指定している場合に、前回の実行後、rdbexdsiコマンドにより任意のDSIの除外または除外の解除を実行した場合

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

ポイント

CLI_MAX_SQLの値を拡張した場合は、CLI_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文に記述する条件(述語)の数です。

CLI_RESULT_BUFFER

【指定形式】

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

【実行パラメタの意味】

JDBCドライバは、データを取り出すときの性能を良くするため、複数の行を一度に取り出し、JDBCドライバ内部に格納することができます。この行を格納するバッファの数とサイズを指定します。また、1つのカーソルが1つのバッファを使用するので、複数のバッファを用意すれば、複数カーソルの操作の性能を良くすることができます。バッファを使用しない場合、個数に0を指定します。この領域は、クライアント側とサーバ側で獲得されます。

バッファサイズを大きくするほど性能は良くなりますが、メモリが圧迫され、他のアプリケーションの実行に支障が発生する場合があります。

バッファサイズを大きくする場合、メモリの空き容量に注意してください。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_RESULT_BUFFER = (2,32)

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

使用するバッファの個数を0~255の範囲で指定します。省略した場合は、2が指定されたものとみなします。

バッファサイズ:

使用するバッファのサイズを1~10240の範囲で指定します。省略した場合は、32が指定されたものとみなします。単位はキロバイトです。

CLI_SORT_MEM_SIZE

【指定形式】

CLI_SORT_MEM_SIZE = (メモリサイズ)

【実行パラメタの意味】

ソート処理のために作業用ソート領域としてサーバ側で使用するメモリの大きさを指定します。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。

ソート処理のデータ量がCLI_SORT_MEM_SIZEに指定した値を超えると、二次記憶の作業用ソート領域にデータを書き出し、書き出したデータのソートを行います。このとき、二次記憶からのソートデータの読み込み回数はソートデータの全体量とCLI_SORT_MEM_SIZEに指定した値に依存します。このため、ソートデータの全体量に応じて、CLI_SORT_MEM_SIZEに指定する値を見積もってください。

ソート処理のデータ量がCLI_SORT_MEM_SIZEに指定した値の1万倍以上になると、ソート処理で必要なメモリが不足し、「JYP2221E 実行時の制限値を超えました.code:“4”」のエラーとなる場合があります。ただし、メモリ上の作業域の必要最低限なサイズは、作業用ソート領域へのレコードの格納順に依存するため、CLI_SORT_MEM_SIZEに指定した値の1万倍は目安となります。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_SORT_MEM_SIZE = (2112)

【パラメタの意味】
メモリサイズ:

サーバ側で使用するメモリの大きさを64~2097150の範囲で指定します。単位はキロバイトです。

CLI_WORK_ALLOC_SPACESIZE

【指定形式】

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

【実行パラメタの意味】

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

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_WORK_ALLOC_SPACESIZE = (10000,50000,CLI_WORK_PATHで指定したパス名のディスク容量,HOLD)

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


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

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

CLI_WORK_ALLOC_SPACESIZE = (10000,50000)

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

CLI_WORK_ALLOC_SPACESIZE = (,50000,100000)

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

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

増分量:

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

最大量:

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

保持指定:

以下の中から1つを選択します。省略した場合は、HOLDが指定されたものとみなします。

- FREE:作業用ソート領域および作業用テーブルとして作成した外部ファイルを初期量まで解放します。

- HOLD:作業用ソート領域および作業用テーブルとして作成した外部ファイルを保持します。

CLI_WORK_MEM_SIZE

【指定形式】

CLI_WORK_MEM_SIZE = (メモリサイズ)

【実行パラメタの意味】

作業用テーブルとしてサーバ側で使用するメモリの大きさです。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_WORK_MEM_SIZE = (128)

【パラメタの意味】
メモリサイズ:

サーバ側で使用するメモリの大きさを64~2097150の範囲で指定します。単位はキロバイトです。

CLI_WORK_PATH

【指定形式】

CLI_WORK_PATH = (パス名[,パス名]・・・)

【実行パラメタの意味】

サーバ側で使用するソート作業域、作業用テーブル域の獲得先ディレクトリを指定します。“Symfoware/RDBを起動するユーザID”および“RDBコマンドを実行するユーザID”には、指定するディレクトリへの書込み権が必要です。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

SolarisLinuxCLI_WORK_PATH = (/var/tmp)

WindowsCLI_WORK_PATH = (Symfoware/RDBがインストールされているディレクトリ\TMP)

データベース簡単運用で、いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合は、以下の値が設定されます。

CLI_WORK_PATH = (データ格納先ディレクトリ\RDBシステム名\USR\TMP)

参照

  • 作業用ソート領域および作業用テーブルの見積りについては、“アプリケーション開発ガイド(共通編)”の“ソート作業域の見積り”を参照してください。

  • データベース簡単運用の場合の省略値として設定されるデータ格納先ディレクトリについては、“データベース簡単運用ガイド”を参照してください。

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

獲得先ディレクトリを指定します。

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

CLI_CAL_ERROR

【指定形式】

CLI_CAL_ERROR = ({REJECT | NULL})

【実行パラメタの意味】

代入処理でオーバフローが発生した場合の処理を指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_CAL_ERROR = (REJECT)

【パラメタの意味】
REJECT:

例外エラーとします。

NULL:

演算結果をNULLとします。

CLI_CHARACTER_TRANSLATE

【指定形式】

CLI_CHARACTER_TRANSLATE = ({CLIENT | SERVER})

【実行パラメタの意味】

データベースシステムの文字コード系が、アプリケーションで使用している文字コード系と異なる場合、コード変換をクライアントで行うか、サーバで行うかを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_CHARACTER_TRANSLATE = (SERVER)

【パラメタの意味】
CLIENT:

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

SERVER:

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

ポイント

サーバの負荷を少しでも減らしたい場合は、クライアントで行うよう指定します。

WindowsCLI_SURROGATE_PAIR_NUMBER

【指定形式】

CLI_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の場合にのみ有効となります。

本実行パラメタの指定を省略した場合は、以下の値が設定されます。

CLI_SURROGATE_PAIR_NUMBER = (2)

【パラメタの意味】
1:

各国語文字の補助文字1文字(4バイト)を1文字として扱います。

2:

従来どおり、各国語文字の補助文字1文字(4バイト)を2文字(2バイト×2)として扱います。

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

CLI_DEFAULT_INDEX_SIZE

【指定形式】

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

【実行パラメタの意味】

格納構造定義を行わないインデックスを作成する場合、インデックスのベース部とインデックス部の割り付け量、ページ長などを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_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がインデックス部のページ長の倍数でない場合、インデックス部のページ長の倍数に繰り上げます。

  • インデックス定義時には、容量拡張を行いません。拡張量および拡張契機は、インデックス定義した後に有効となります。

CLI_DEFAULT_OBJECT_TABLE_SIZE

【指定形式】

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

【実行パラメタの意味】

格納構造定義を行わない表を作成する場合、OBJECT構造の表の、データ格納域の割り付け量、ページ長などを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_DEFAULT_OBJECT_TABLE_SIZE = (32,32768,32768,0)

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

データ格納域のページ長を指定します。必ず32を指定します。単位はキロバイトです。

初期量:

データ格納域の初期量を2~2097150の範囲で指定します。単位はキロバイトです。

拡張量:

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

拡張契機:

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

注意

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

CLI_DEFAULT_TABLE_SIZE

【指定形式】

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

【実行パラメタの意味】

格納構造定義を行わない表を作成する場合、表のデータ格納域の割り付け量、ページ長などを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_DEFAULT_TABLE_SIZE = (32,30720,10240,3072)

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

データ格納域のページ長を1、2、4、8、16、32の中から指定します。単位はキロバイトです。

初期量:

データ格納域の初期量を2~2097150の範囲で指定します。単位はキロバイトです。

拡張量:

データ格納域の拡張量を1~2097150の範囲で指定します。省略した場合は、10240が指定されたものとみなします。単位はキロバイトです。

拡張契機:

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

注意

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

CLI_DSI_EXPAND_POINT

【指定形式】

CLI_DSI_EXPAND_POINT=({ON | OFF})

【実行パラメタの意味】

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

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_DSI_EXPAND_POINT=(ON)

【パラメタの意味】
ON:

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

OFF:

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

CLI_INCLUSION_DSI

【指定形式】

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

【実行パラメタの意味】

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

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

【パラメタの意味】
データベース名.DSI名:

DSIを限定したい表のDSI名を指定します。

CLI_TEMPORARY_INDEX_SIZE

【指定形式】

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

【実行パラメタの意味】

一時表にインデックスを定義する場合に、インデックスのベース部とインデックス部の割付け量を指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_TEMPORARY_INDEX_SIZE = (160,64,256,0)

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

ベース部の初期量を64~2097150の範囲で指定します。単位はキロバイトです。

インデックス部初期量:

インデックス部の初期量を64~2097150の範囲で指定します。単位はキロバイトです。

拡張量:

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

拡張契機:

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

注意

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

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

CLI_TEMPORARY_TABLE_SIZE

【指定形式】

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

【実行パラメタの意味】

一時表を定義する場合に、表のデータ格納域の割付け量を指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_TEMPORARY_TABLE_SIZE = (256,512,0)

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

データ格納域の初期量を64~2097150の範囲で指定します。単位はキロバイトです。

拡張量:

データ格納域の拡張量を32~2097150の範囲で指定します。省略した場合は、512が指定されたものとみなします。単位はキロバイトです。

拡張契機:

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

注意

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

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

CLI_DSO_LOCK

【指定形式】

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

【実行パラメタの意味】

アプリケーションで使用するDSOおよびその占有の単位、占有モードを指定します。

本パラメタを指定した場合、指定されなかったDSOについては、占有の単位がページとなります。

CLI_DSO_LOCKが指定された場合、ConnectionインタフェースのsetTransactionIsolationメソッド、SET TRANSACTION 文、JDBCドライバで指定可能なオプションのdefault_isolationおよびdefault_readonly、クライアント用の動作環境ファイルのDEFAULT_ACCESS_MODEおよびDEFAULT_ISOLATIONは指定できません。

占有の単位は、CLI_DSO_LOCKまたは動作環境ファイルのDSO_LOCK、および、CLI_R_LOCKまたは動作環境ファイルのR_LOCKでの指定により決定します。

なお、CLI_R_LOCKおよび動作環境ファイルのR_LOCKの値により、CLI_DSO_LOCKを指定できない場合があります。以下にCLI_DSO_LOCKと、CLI_R_LOCKおよびR_LOCKの関係を示します。

ctuneparamオプションのCLI_R_LOCK

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

システム用の動作環境ファイルのR_LOCK

CLI_DSO_LOCKまたはDSO_LOCKの指定

占有の単位

NO

NO

NO

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による(注1)

YES

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による(注1)

YES

NO

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による(注1)

YES

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による(注1)

省略

NO

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による(注1)

YES

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による(注1)

YES

NO

NO

指定不可

行単位で占有(注2)

YES

指定不可

行単位で占有(注2)

YES

NO

指定不可

行単位で占有(注2)

YES

指定不可

行単位で占有(注2)

省略

NO

指定不可

行単位で占有(注2)

YES

指定不可

行単位で占有(注2)

省略

NO

NO

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による(注1)

YES

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による(注1)

YES

NO

指定不可

行単位で占有(注2)

YES

指定不可

行単位で占有(注2)

省略

NO

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による(注1)

YES

指定不可

行単位で占有(注2)

注1) CLI_DSO_LOCKおよびDSO_LOCKの指定を省略した場合、Symfoware/RDBによって占有の単位が選択されます。詳細は、“アプリケーション開発ガイド(共通編)”の“排他の属性と選択方法”の“Symfoware/RDBによる選択”を参照してください。

注2) CLI_DSO_LOCKを指定した場合、データベースへの接続時にエラーとなります。

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

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

データベース名.DSO名

P:

DSOの占有の単位をページとします。省略した場合、占有の単位はDSIになります。
DSO名に指定されたDSOにPRECEDENCE(1)が指定されている場合、本パラメタは指定できません。

占有モード:

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

CLI_ISOLATION_WAIT

【指定形式】

CLI_ISOLATION_WAIT = ({WAIT | REJECT})

【実行パラメタの意味】

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

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_ISOLATION_WAIT = (WAIT)

【パラメタの意味】
WAIT:

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

REJECT:

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

CLI_R_LOCK

【指定形式】

CLI_R_LOCK = ({YES | NO})

【実行パラメタの意味】

占有の単位を行とするかどうかを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_R_LOCK = (YES)

【パラメタの意味】
YES:

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

NO:

占有の単位は、CLI_DSO_LOCKまたはDSO_LOCKの指定に従います。このパラメタを指定し、かつCLI_DSO_LOCKおよびDSO_LOCKが指定されていない場合は、Symfoware/RDBによって自動的に占有の単位が選択されます。

データベース簡単運用の場合、占有の単位は、表またはインデックスとなります。

参照

詳細については、“アプリケーション開発ガイド(共通編)”の“排他制御”を参照してください。

また、データベース簡単運用の場合は、“アプリケーション開発ガイド(共通編)”の“トランザクションと排他制御(データベース簡単運用の場合)”を参照してください。

注意

  • ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKがNOの場合、ConnectionインタフェースのsetTransactionIsolationメソッドまたはSET TRANSACTION文にTRANSACTION_REPEATABLE_READを指定しても、独立性水準はSERIALIZABLEとなります。

  • ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKがYESの場合、ConnectionインタフェースのsetTransactionIsolationメソッドまたはSET TRANSACTION文にTRANSACTION_SERIALIZABLEを指定しても、独立性水準はREPEATABLE READとなります。

  • データベース簡単運用でない場合、ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKがNOのときには、DSO定義でPRECEDENCE(1)が指定されたSEQUENTIAL構造の表にアクセスするアプリケーションの占有の単位はDSIになります。

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

CLI_ROUTINE_SNAP

【指定形式】

CLI_ROUTINE_SNAP = ({ON | OFF},ファイル名[,出力レベル])

【実行パラメタの意味】

ROUTINE_SNAP機能を利用するかどうかを指定します。

ROUTINE_SNAP機能は、SQL手続き文の実行情報をファイルに出力する機能です。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_ROUTINE_SNAP = (OFF)

参照

ROUTINE_SNAP機能の詳細および使用方法については、“アプリケーション開発ガイド(埋込みSQL編)”の“アプリケーションのデバッグ”を参照してください。

【パラメタの意味】
ON:

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

OFF:

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

ファイル名:

SQL手続き文の実行情報の出力先のサーバ側のファイル名を、絶対パスで指定します。

指定されたファイルがすでに存在する場合、情報を追加して出力します。

複数のアプリケーションが動作する場合は、個別のトレース情報を出力しません。

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

出力レベル:

出力する情報のレベルとして、1または2を指定します。省略した場合、2が指定されたものとみなします。

参照

出力レベルの指定と出力情報の対応については、“アプリケーション開発ガイド(埋込みSQL編)”の“ROUTINE_SNAP機能の利用方法”を参照してください。

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

CLI_ACCESS_PLAN

【指定形式】

CLI_ACCESS_PLAN = ({ON | OFF},ファイル名[,[出力レベル][,[SQLアドバイザ出力レベル]]])

【実行パラメタの意味】

アプリケーション単位でアクセスプランを取得するかどうかを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_ACCESS_PLAN = (OFF)

参照

アクセスプランについては、“アプリケーション開発ガイド(共通編)”の“アクセスプラン”を参照してください。

【パラメタの意味】
ON:

アクセスプラン取得機能を利用する場合に指定します。

OFF:

アクセスプラン取得機能を利用しない場合に指定します。

ファイル名:

出力先のサーバ側のファイル名を、絶対パスで指定します。指定されたファイルがすでに存在する場合は、情報を追加して出力します。また、指定するパスが存在することと、指定したユーザIDに対する書込み権があることを確認してください。

出力レベル:

出力レベルには1または2を指定します。1を指定すると、アクセスプランのセクション情報のみを出力し、2を指定すると、セクション内の各エレメント詳細情報も出力します。省略した場合は、2が指定されたものとみなします。

SQLアドバイザ出力レベル:

SQLアドバイザ出力レベルには、“ADVICE”または“NOADVICE”を指定します。“ADVICE”を指定すると、SQL文に対するアドバイスを出力します。“NOADVICE”を指定すると、SQL文に対するアドバイスを出力しません。省略した場合は、“ADVICE”が指定されたものとみなします。

CLI_CHOOSE_TID_UNION

【指定形式】

CLI_CHOOSE_TID_UNION = ({YES | NO})

【実行パラメタの意味】

SQL文のWHERE句にブール演算子“OR”を指定した場合、V10.1.0以前は、TIDユニオンマージのアクセスパスのみ作成されましたが、V11.0.0以降では、TIDユニオンマージに加えて、インデックス検索、または、インデックス検索と表データ取得のアクセスプランが作成されます。ほとんどの場合、インデックス検索の方がSQL文のレスポンスが良いのですが、データの分布によっては表に対するI/O効率の高いTIDユニオンマージの方が良い場合もあります。どちらのアクセスプランを選択するかは、Symfoware/RDBにより自動的に決定されますが、最適化情報を設定しない運用の場合はこの選択を誤ってしまい、V11.0.0以降、まれにSQL文のレスポンスが悪くなることがあります。このような場合は、当パラメタにYESを指定して、V10.1.0以前と同様のアクセスプランとしてください。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_CHOOSE_TID_UNION = (NO)

【パラメタの意味】
YES:

以下のいずれかの場合、TIDユニオンマージのアクセスプランのみを作成します(V10.1.0以前のアクセスプラン)。

  • WHERE句にブール演算子”OR”を指定している場合

  • WHERE句に行値構成子を指定している場合

NO:

以下のいずれかの場合、TIDユニオンマージのアクセスプランとインデックス検索のアクセスプランを作成し、効率の良いアクセスプランをSymfoware/RDBが自動的に選択します。

  • WHERE句にブール演算子”OR”を指定している場合

  • WHERE句に行値構成子を指定している場合

CLI_GROUP_COL_COND_MOVE

【指定形式】

CLI_GROUP_COL_COND_MOVE = ({YES | NO})

【実行パラメタの意味】

V6以前のSymfoware Serverからバージョンアップした場合、最適化情報を設定しない運用では、まれにSQL文のレスポンスが悪くなることがあります。このような場合は、本パラメタにNOを指定して、V6以前のアクセスプランを選択します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_GROUP_COL_COND_MOVE = (YES)

【パラメタの意味】
YES:

以下のいずれかの場合、導出表を絞り込む条件を導出表内に移動させる(V7以降のアクセスプラン)。

  • 導出表にGROUP BY句、HAVING句または集合関数を指定している場合。

  • 導出表の選択リストに列指定以外を指定している場合。

NO:

以下のいずれかの場合、導出表を絞り込む条件を導出表内に移動させない(V6以前のアクセスプラン)。

  • 導出表にGROUP BY句、HAVING句または集合関数を指定している場合。

  • 導出表の選択リストに列指定以外を指定している場合。

CLI_IGNORE_INDEX

【指定形式】

CLI_IGNORE_INDEX = ({YES | NO})

【実行パラメタの意味】

データベースを検索する時に、インデックスを使用せずにデータベースにアクセスするか否かを指定します。データウェアハウジングにおいて大量のデータを検索および集計する場合には、インデックスだけではデータが絞りきれず、インデックスを使う分だけ無駄なオーバヘッドが発生することがあります。このような場合は、本パラメタにYESを指定することにより、表の全件検索または並列スキャンのアクセスモデルを採用します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_IGNORE_INDEX = (NO)

ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、CLI_IGNORE_INDEXの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。

【パラメタの意味】
YES:

インデックスを使用しないアクセスモデルを選択する。

NO:

インデックスが使用できる時は、インデックスを使用したアクセスモデルを選択する。

CLI_INACTIVE_INDEX_SCAN

【指定形式】

CLI_INACTIVE_INDEX_SCAN = ({YES | NO})

【実行パラメタの意味】

データベースを検索する時に、非活性状態のインデックスDSIを含むインデックスを使用したアクセスプランを選択するか否かを指定します。インデックスを非活性状態とし、一括更新処理でインデックスを更新しない高速なバッチ処理を行うアプリケーションの場合、本パラメタにNOを指定してください。YESが指定されている場合、バッチ処理がエラーとなる場合があります。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_INACTIVE_INDEX_SCAN = (YES)

【パラメタの意味】
YES:

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

NO:

非活性状態のインデックスDSIを含むインデックスを使用したアクセスプランを選択しない。

CLI_JOIN_ORDER

【指定形式】

CLI_JOIN_ORDER = ({AUTO | INSIDE | OUTSIDE})

【実行パラメタの意味】

結合表と他の表をジョインする場合のジョイン順を指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_JOIN_ORDER = (INSIDE)

データベース簡単運用で、いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合は、以下の値が設定されます。

CLI_JOIN_ORDER = (AUTO)

ただし、SQL文にASSIST指定のLEADING_TABLEを指定した場合、ASSIST指定が優先され、CLI_JOIN_ORDERの指定に関わらず、ASSIST指定に指定されたジョイン順に従います。

【パラメタの意味】
AUTO:

Symfoware/RDBが自動的に選択する。

INSIDE:

結合表から先にジョインする。

OUTSIDE:

結合表の中に指定した表と結合表の外に指定した表から先にジョインする。

CLI_JOIN_RULE

【指定形式】

CLI_JOIN_RULE = ({AUTO | MERGE | FETCH})

【実行パラメタの意味】

ジョインする方法を指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_JOIN_RULE = (AUTO)

ただし、SQL文にASSIST指定のJOIN_RULEを指定した場合、ASSIST指定が優先され、CLI_JOIN_RULEの指定に関わらず、ASSIST指定に指定されたジョイン方法に従います。

【パラメタの意味】
AUTO:

Symfoware/RDBが自動的に選択する。

MERGE:

マージジョインのアクセスモデルを優先する。

FETCH:

フェッチジョインのアクセスモデルを優先する。

CLI_MAX_SCAN_RANGE

【指定形式】

CLI_MAX_SCAN_RANGE = (検索範囲数)

【実行パラメタの意味】

インデックス、クラスタキー、または分割キーについて検索範囲を作成する場合の最大数を指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_MAX_SCAN_RANGE = (1000)

【パラメタの意味】
検索範囲数:

1~2147483647の範囲で指定します。

CLI_SAME_COST_JOIN_ORDER

【指定形式】

CLI_SAME_COST_JOIN_ORDER = ({REVERSE | ORDER})

【実行パラメタの意味】

CLI_JOIN_ORDERパラメタにINSIDEを指定するか、省略し、最適化情報を設定しない運用の場合、まれにSQL文のレスポンスが悪くなることがあります。このような場合、本パラメタにREVERSEを指定して、V5以前のジョイン順を選択します。

最適化処理は、最適化情報で処理手順のコストを見積もり、最適な処理手順を選びます。最適化情報を設定していない場合、どのジョイン順も同じコストになることがあります。この場合、V5以前は、WHERE句の表を結合する探索条件の記述の逆順でしたが、V6以降は、記述順になります。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_SAME_COST_JOIN_ORDER = (ORDER)

ただし、SQL文にASSIST指定のLEADING_TABLEを指定した場合、ASSIST指定が優先され、CLI_SAME_COST_JOIN_ORDERの指定に関わらず、ASSIST指定に指定されたジョイン順に従います。

【パラメタの意味】
REVERSE:

CLI_JOIN_ORDERパラメタにINSIDEを指定するか、省略し、最適化情報を設定しない運用の場合、WHERE句の表を結合する探索条件の記述の逆順にジョインするアクセスプランを選択する(V5以前のアクセスモデル)。

ORDER:

CLI_JOIN_ORDERパラメタにINSIDEを指定するか、省略し、最適化情報を設定しない運用の場合、WHERE句の表を結合する探索条件の記述順にジョインするアクセスプランを選択する(V6以降のアクセスモデル)。

CLI_SCAN_KEY_ARITHMETIC_RANGE

【指定形式】

CLI_SCAN_KEY_ARITHMETIC_RANGE = ({YES | NO})

【実行パラメタの意味】

四則演算の検索範囲について、インデックス範囲検索、または、クラスタキーの検索を行うか否かを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_SCAN_KEY_ARITHMETIC_RANGE = (YES)

ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、CLI_SCAN_KEY_ARITHMETIC_RANGEの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。

【パラメタの意味】
YES:

四則演算の検索値について、インデックス範囲検索、または、クラスタキーの検索を行います。

NO:

四則演算の検索値について、インデックス範囲検索、または、クラスタキーの検索を行いません。

CLI_SCAN_KEY_CAST

【指定形式】

CLI_SCAN_KEY_CAST = ({YES | NO})

【実行パラメタの意味】

探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行うか否かを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_SCAN_KEY_CAST = (YES)

ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、CLI_SCAN_KEY_CASTの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。

【パラメタの意味】
YES:

探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行います。

NO:

探索条件に指定したインデックスキーまたは、クラスタキーで範囲検索を行います。

CLI_SORT_HASHAREA_SIZE

【指定形式】

CLI_SORT_HASHAREA_SIZE = (メモリサイズ)

【実行パラメタの意味】

ソート処理がレコードをハッシングして格納するための領域のサイズです。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、メモリ上のすべてのレコードをハッシングして格納します。

【パラメタの意味】
メモリサイズ:

2112~2097150の範囲で指定します。単位はキロバイトです。

CLI_SQL_TRACE

【指定形式】

CLI_SQL_TRACE = ({ON | OFF},性能情報ファイル名[,出力レベル])

【実行パラメタの意味】

アプリケーション単位でSQL性能情報を取得するかどうかを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_SQL_TRACE = (OFF)

【パラメタの意味】
ON:

SQL性能情報取得機能を利用する場合に指定します。

OFF:

SQL性能情報取得機能を利用しない場合に指定します。

性能情報ファイル名:

出力先のサーバ側のファイル名を、絶対パスで指定します。指定されたファイルがすでに存在する場合は、情報を追加して出力します。
複数のアプリケーションが動作する場合は、個別のトレース情報を出力しません。
アプリケーションがマルチスレッド環境で動作する場合は、出力ファイル名の後にプロセスIDやセションIDなどの情報を自動的に付加して、個別のトレース情報を出力します。

出力レベル:

出力レベルには1または2を指定します。1を指定すると、DSOごとに集計された性能情報を出力します。2を指定すると、DSI単位の情報までも出力します。

データベース簡単運用の場合は、表またはインデックスに関する情報が出力されます。出力レベルによる出力内容に違いはありません。

省略した場合は、2が指定されたものとみなします。

CLI_SS_RATE

【指定形式】

CLI_SS_RATE = ([選択率1][,[選択率2][,[選択率3][,[選択率4][,[選択率5]]]]])

【実行パラメタの意味】

BETWEEN述語、比較述語、LIKE述語およびCONTAINS関数でインデックスを検索する時、インデックスの検索範囲の割合を0以上1以下の小数で指定します。値は、小数第6位まで指定できます。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_SS_RATE = (0.2,0.25,0.5,0.4,0.0001)

ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、CLI_SS_RATEの割合に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。

【パラメタの意味】
選択率1:

BETWEEN述語を指定した場合のインデックスの検索範囲。省略した場合は、0.2が指定されたものとみなします。

選択率2:

比較述語“>”、“>=”、と“<”、“<=”でインデックスの検索開始位置および検索終了位置の両方が指定されている場合のインデックスの検索範囲。省略した場合は、0.25が指定されたものとみなします。

選択率3:

比較述語“>”、“>=”、“<”、“<=”でインデックスの検索開始位置または検索終了のみが指定されている場合のインデックスの検索範囲。省略した場合は、0.5が指定されたものとみなします。

選択率4:

LIKE述語を指定した場合のインデックスの検索範囲。省略した場合は、0.4が指定されたものとみなします。

選択率5:

CONTAINS関数を指定した場合のインデックスの検索範囲。省略した場合は、0.0001が指定されたものとみなします。

CLI_TID_SORT

【指定形式】

CLI_TID_SORT = ({YES | NO})

【実行パラメタの意味】

インデックス検索と表データ取得のアクセスモデルにおいて、TIDソートを利用するか否かを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_TID_SORT = (YES)

ただし、SQL文にASSIST指定のFIRST_ROWSを指定した場合、ASSIST指定が優先され、CLI_TID_SORTの指定に関わらず、TIDソートを利用しません。

【パラメタの意味】
YES:

TIDソートを利用します。

NO:

TIDソートを利用しません。

CLI_TID_UNION

【指定形式】

CLI_TID_UNION = ({YES | NO})

【実行パラメタの意味】

TIDユニオンマージのアクセスモデルを有効にするか否かを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_TID_UNION = (YES)

ただし、SQL文にASSIST指定のUSE_INDEXを指定した場合、ASSIST指定が優先され、CLI_TID_UNIONの指定に関わらず、ASSIST指定に指定されたインデックスを使用した検索を行います。

【パラメタの意味】
YES:

TIDユニオンマージのアクセスモデルを有効にします。TIDユニオンマージが効果的と判断した場合に選択します。

NO:

TIDユニオンマージのアクセスモデルを有効にしません。

CLI_USQL_LOCK

【指定形式】

CLI_USQL_LOCK = ({SH | EX})

【実行パラメタの意味】

UPDATE文:探索およびDELETE文:探索において、更新レコードを検索するアクセスモデルの表の占有モードを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_USQL_LOCK = (SH)

データベース簡単運用で、いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合は、以下の値が設定されます。

CLI_USQL_LOCK = (EX)

【パラメタの意味】
SH:

更新標的レコードを検索するアクセスモデルで共用モードで表を占有します。

EX:

更新標的レコードを検索するアクセスモデルで非共用モードで表を占有します。

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

CLI_RCV_MODE

【指定形式】

CLI_RCV_MODE = ({RCV | NRCV})

【実行パラメタの意味】

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

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_RCV_MODE = (RCV)

【パラメタの意味】
RCV:

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

NRCV:

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

予約語とSQL機能に関する実行パラメタ

CLI_SQL_LEVEL

【指定形式】

CLI_SQL_LEVEL = ({SQL88 | SQL92 | SQL95 | SQL96 | SQL2000 | SQL2007})

【実行パラメタの意味】

予約語とSQL機能のレベルを設定します。

予約語とSQL機能のレベルを設定することで、キーワードの範囲と利用可能なSQLの機能を変更できます。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_SQL_LEVEL = (SQL2007)

SQLの機能とそれを利用可能なレベルとの関係を以下に示します。

表に記載のない機能は、CLI_SQL_LEVELに関係なく利用可能です。

表5.2 CLI_SQL_LEVELと利用可能なSQLの機能一覧

CLI_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の関数名と同名のファンクションルーチンを定義している場合、関数とファンクションルーチンの動作の優先順位は以下になります。

ファンクションルーチン名へのスキーマ名修飾の有無

CLI_SQL_LEVEL

SQL2007

SQL2000

スキーマ名修飾有

ファンクションルーチン

ファンクションルーチン

スキーマ名修飾無

関数

ファンクションルーチン

SQL文にSQL2007の関数名と同名のファンクションルーチンを指定している場合、関数が優先して動作することで、ファンクションルーチンの結果と異なる結果になる場合があります。

ファンクションルーチンの動作を優先する場合は、CLI_SQL_LEVELにSQL2000を指定するか、ファンクションルーチン名をスキーマ名修飾してください。

【パラメタの意味】
SQL88:

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

SQL92:

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

SQL95:

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

SQL96:

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

SQL2000:

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

SQL2007:

予約語とSQL機能のレベルをSQL2007とします。

参照

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

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

CLI_MAX_PARALLEL

【指定形式】

CLI_MAX_PARALLEL = (多重度)

【実行パラメタの意味】

SQL文でデータベースを並列に検索する場合の多重度を指定します。

SQL文でデータベースを並列に検索できるのは、問合せ式で並列指定を指定した場合です。表のDSIの数が、指定した多重度よりも少ない場合は、DSIの数を多重度として並列検索を行います。

なお、この実行パラメタは、動作環境ファイルのPARALLEL_SCANに“YES”を指定した場合、ctuneparamオプションのCLI_PARALLEL_SCANに“YES”を指定した場合、またはSQL文の問合せ式に並列指定“PARALLEL”を指定した場合に有効となります。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、n多重(注)で並列検索を行います。

注意

OSまたは仮想OSが認識している搭載CPUコア数×2が設定されます。ただし、RDB構成パラメタファイルにてRDBCPUNUMが指定されている場合は、RDBCPUNUM×2が設定されます。

【パラメタの意味】
多重度:

SQL文でデータベースを並列に検索する場合の多重度を2~100の範囲で指定します。

CLI_PARALLEL_SCAN

【指定形式】

CLI_PARALLEL_SCAN = ({YES | NO})

【実行パラメタの意味】

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

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_PARALLEL_SCAN = (NO)

【パラメタの意味】
YES:

データベースを並列に検索します。この場合、そのアプリケーションの問合せを並列検索で実行できます。

ただし、以下のいずれかの条件を満たす場合、並列検索は実行されず従来のアクセス手順でデータベースにアクセスします。

  • 表がDSI分割されていない、または1つのDSIに対するアクセスの場合

  • クラスタキーを利用したデータベースアクセスが可能な場合

  • 探索条件にROW_IDを指定した検索の場合

  • インデックスを利用したデータベースアクセスが可能な場合

NO:

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

その他に関する実行パラメタ

CLI_ARC_FULL

【指定形式】

CLI_ARC_FULL = ({RETURN | WAIT})

【実行パラメタの意味】

アーカイブログファイルが満杯状態になったとき、エラー復帰するか否かを指定します。

本実行パラメタの設定は、“表5.1 ctuneparamオプションのパラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CLI_ARC_FULL = (RETURN )

【パラメタの意味】
RETURN:

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

WAIT:

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

注意

  • “WAIT”を指定した場合、空きのアーカイブログファイルが作成されるまでアプリケーションは無応答状態となりますので注意してください。

  • 本実行パラメタの指定が、互いに異なる複数のアプリケーションが同時に同じDSIを扱うような運用はしないでください。例えば、以下の事象が発生する場合があります。
    トランザクションAは、CLI_ARC_FULL=RETURNを設定し、アーカイブログ満杯の状態であるとします。トランザクションBは、CLI_ARC_FULL=WAITを設定し、アーカイブログ満杯の状態で資源を占有しているとします。このとき、トランザクションBは、空きのアーカイブログファイルが作成されるまで待ちます。同じ資源にアクセスしているトランザクションAは、トランザクションBの終了を待つため、CLI_ARC_FULL=RETURNを設定しているにもかかわらず、無応答状態になります。
    この場合は、rdblkinfコマンドのlオプションやrdblogコマンドのVオプションかつaオプションで排他やアーカイブログの状況を確認できます。また、アーカイブログに関する以下のシステムメッセージが表示されます。これらの情報をもとに、バックアップ可能なアーカイブログファイルをバックアップするか、または新規にアーカイブログファイルを追加して対処してください。

    rdb: WARNING: qdg13336w:転送可能なアーカイブログ域が不足しています
    rdb: ERROR: qdg03132u:アーカイブログファイルが満杯です
  • 以下のいずれかの処理中にシステムロググループまたはユーザロググループのアーカイブログファイルが満杯状態になった場合の振る舞いについては、本実行パラメタの指定に関わらずシステム用の動作環境ファイルに指定したARC_FULLパラメタに従います。

    • SQL文の実行で自動容量拡張が動作する。

    • SQL文中に順序を直接指定して番号を採番する。

    • 表定義のDEFAULT句に順序を指定して、自動的に取得した値を表に挿入する。

5.2.3.5 クライアント用の動作環境ファイルの指定について

クライアント用の動作環境ファイルに、アプリケーションの動作環境を指定します。

参照

クライアント用の動作環境ファイルの作成については“アプリケーション開発ガイド(共通編)”の“クライアント用の動作環境ファイルの作成”を参照してください。

クライアント用の動作環境ファイルの指定について

JDBCドライバを利用したときのクライアント用の動作環境ファイルは、JDBCドライバのオプションとして以下の記述形式で指定します。

記述形式

sqlrtenv =クライアント用の動作環境ファイル名
パラメタの意味

クライアント用の動作環境ファイル名:
クライアント用の動作環境ファイル名は、絶対パスで指定します。

設定例

sqlrtenv = /opt/FJSVsymcl/etc/clientenv/fssqlenvj

sqlrtenvの指定の省略時

sqlrtenvの指定を省略した場合、以下のパスが指定されたとみなします。

Windowsクライアントインストール先¥etc¥clientenv¥fssqlenvj
Solaris/opt/FJSVsymcl/etc/clientenv/fssqlenvj
Linux/opt/FJSVsymcl/etc/clientenv/fssqlenvj

動作環境パラメタの指定の優先順位

動作環境の設定項目の中には、システム用の動作環境ファイル、サーバ用の動作環境ファイル、ctuneparamオプションおよびクライアント用の動作環境ファイルで重複して指定できるパラメタがあります。優先順位は、以下のとおりです。

参考

データベース簡単運用の場合には、Symfoware Severのインストール時に、システム用の動作環境として最適な環境が設定されるため、チューニングの必要がありません。よって、システム用の動作環境ファイルは、作成不要です。

  1. サーバ用の動作環境ファイル

  2. ctuneparamオプション

  3. クライアント用の動作環境ファイル

  4. システム用の動作環境ファイル

JDBCドライバを利用する場合のクライアント用の動作環境ファイルに指定可能なパラメタは以下の“クライアント用の動作環境ファイルによる定義”を参照してください。

動作環境ファイルの記述形式

動作環境ファイルを記述する文法の一般形式を以下に示します。

KEYWORD=(値1,値2,・・・,値n)

詳細形式および注意事項は以下のとおりです。

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

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

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

分類

実行パラメタ

概要

記述数

記述の省略

優先順位

1

2

3

4

SV

ctuneparamオプション

CL

SY

通信

BUFFER_SIZE

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

単一

省略可能

SERVER_ENV_FILE

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

複数可

省略可能

TRAN_SPEC

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

単一

省略可能

TRAN_TIME_LIMIT

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

単一

省略可能

WAIT_TIME

通信時の待ち時間

単一

省略可能

通信データ
の暗号化

SSL_CLI_CA_CERT_FILE

サーバ認証で使用するCA証明書ファイルの配置先

複数可

サーバ認証を行う場合は省略不可。


(注4)


(注4)

作業領域
など

MAX_SQL

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

単一

省略可能

OPL_BUFFER_SIZE

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

単一

省略可能

RESULT_BUFFER

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

単一

省略可能

SORT_MEM_SIZE

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

単一

省略可能

WORK_ALLOC_SPACESIZE

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

単一

省略可能

WORK_MEM_SIZE

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

単一

省略可能

WORK_PATH

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

単一

省略可能
(注1)

データ処理

CAL_ERROR

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

単一

省略可能

CHARACTER_TRANSLATE

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

単一

省略可能

JAVA_CONVERTER

JDBCドライバがコード変換時に使用するJavaのエンコーディング方法

単一

省略可能


(注2)

LOWERCASE_NAME

JDBCドライバ利用時において、列名に全角小文字を使用し、かつResultSet.getXXXメソッドを使用する場合に、引数に指定した列名を正しく認識させるか否か

単一

省略可能


(注3)

UNICODEの補助文字(1~16面の4バイト文字)の文字数

単一

省略可能

表・インデックス

DEFAULT_INDEX_SIZE

格納構造定義を行わないインデックスを作成する場合のインデックスのデータ格納域の初期量、拡張量、ページ長など

単一

省略可能


(注4)


(注4)


(注4)

DEFAULT_OBJECT_TABLE_SIZE

格納構造定義を行わない表を作成する場合のOBJECT構造の表のデータ格納域の初期量、拡張量、ページ長など

単一

省略可能


(注4)


(注4)


(注4)

DEFAULT_TABLE_SIZE

格納構造定義を行わない表を作成する場合の表のデータ格納域の初期量、拡張量、ページ長など

単一

省略可能


(注4)


(注4)


(注4)

DSI_EXPAND_POINT

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

単一

省略可能


(注4)


(注4)

INCLUSION_DSI

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

単一

省略可能


(注4)


(注4)


(注4)

TEMPORARY_INDEX_SIZE

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

単一

省略可能


(注4)


(注4)


(注4)

TEMPORARY_TABLE_SIZE

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

単一

省略可能


(注4)


(注4)


(注4)

排他

DSO_LOCK

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

単一

省略可能


(注4)


(注4)


(注4)

ISOLATION_WAIT

占有待ちの方式

単一

省略可能

R_LOCK

占有の単位を行とする

単一

省略可能

トランザクション

DEFAULT_ACCESS_MODE

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

単一

省略可能


(注5)

DEFAULT_ISOLATION

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

単一

省略可能
(注1)


(注6)

デバッグ

ROUTINE_SNAP

ROUTINE_SNAP機能を利用するか否か

単一

省略可能

アクセスプラン
および性能情報

ACCESS_PLAN

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

単一

省略可能

CHOOSE_TID_UNION

WHERE句にブール演算子”OR”、または、行値構成子を指定した場合、TIDユニオンマージのアクセスプランのみを作成するか否か

単一

省略可能

GROUP_COL_COND_MOVE

導出表を絞り込む探索条件を指定した場合、その探索条件を導出表のWHERE句に移動するか否か

単一

省略可能

IGNORE_INDEX

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

単一

省略可能

INACTIVE_INDEX_SCAN

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

単一

省略可能

JOIN_ORDER

結合表と他の表のジョイン順

単一

省略可能
(注1)

JOIN_RULE

ジョインする方法

単一

省略可能

MAX_SCAN_RANGE

インデックス、クラスタキー、または分割キーの検索範囲の最大数

単一

省略可能

SAME_COST_JOIN_ORDER

最適化情報を設定していない場合、ジョイン順をV5以前と同じにするか否か

単一

省略可能

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

単一

省略可能
(注1)

リカバリ

RCV_MODE

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

単一

省略可能


(注4)


(注4)

予約語とSQL機能

SQL_LEVEL

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

単一

省略可能

並列クエリ

MAX_PARALLEL

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

単一

省略可能


(注4)


(注4)


(注4)

PARALLEL_SCAN

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

単一

省略可能


(注4)


(注4)


(注4)

その他

ARC_FULL

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

単一

省略可能


(注4)


(注4)

SV:サーバ用の動作環境ファイルへの指定が可能であるか否かを表します。

CL:クライアント用の動作環境ファイルへの指定が可能であるか否かを表します。

SY:システム用の動作環境ファイルへの指定が可能であるか否かを表します。

○:指定可

-:指定不可

注1) データベース簡単運用の場合は、省略値が異なります。省略値については、各実行パラメタの説明を参照してください。

注2) javaconverterオプションで指定可能です。

注3) lowercasenameオプションで指定可能です。

注4) データベース簡単運用の場合は、指定できません。

注5) default_readonlyオプションで指定可能です。

注6) default_isolationオプションで指定可能です。

参照

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

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

BUFFER_SIZE

【指定形式】

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

【実行パラメタの意味】

通信に利用するバッファサイズを指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

BUFFER_SIZE = (32,32)

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

バッファの初期量を1~10240の範囲で指定します。省略した場合は、32が指定されたものとみなします。単位はキロバイトです。

拡張量:

拡張量を1~10240の範囲で指定します。省略した場合は、32が指定されたものとみなします。単位はキロバイトです。

SERVER_ENV_FILE

【指定形式】

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

【実行パラメタの意味】

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

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

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

ファイル名:

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

TRAN_SPEC

【指定形式】

TRAN_SPEC = ({NONE | TRANSACTION_ROLLBACK})

【実行パラメタの意味】

SQL文が実行中にエラーとなった場合のトランザクションの対処方法を指定します。

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

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

TRAN_SPEC = (NONE)

【パラメタの意味】
NONE:

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

TRANSACTION_ROLLBACK:

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

TRAN_TIME_LIMIT

【指定形式】

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

【実行パラメタの意味】

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

指定時間を経過した場合には、トランザクションをロールバックして、接続中のコネクションを切断します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

TRAN_TIME_LIMIT = (0)

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

最大トランザクション実行時間を、0~32767の範囲で指定します。単位は秒です。0を指定すると無制限になります。

WAIT_TIME

【指定形式】

WAIT_TIME = (待ち時間)

【実行パラメタの意味】

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

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

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

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

WAIT_TIME = (0)

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

待ち時間を0~32767の範囲で指定します。単位は秒です。0を指定した場合は、データが受信できるまで待ちます。

◆通信データの暗号化に関する実行パラメタ

SSL_CLI_CA_CERT_FILE

【指定形式】

SSL_CLI_CA_CERT_FILE = (データソース名,CA証明書ファイル名)

【実行パラメタの意味】

サーバ認証で使用する認証局(Certificate Authority: CA)証明書ファイルの配置先を指定します。

CA証明書ファイルは、データベース管理者が認証局に発行手続きを行って取得後、アプリケーションを開発および実行するマシンに配布されます。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。

通信データを暗号化しない場合に本パラメタを設定するとエラーになります。

【パラメタの意味】
データソース名:

データソース名を指定します。

CA証明書ファイル名:

CA証明書のファイル名を絶対パスで指定します。

指定できるファイル形式は、PEM形式のみです。

指定例:

SSL_CLI_CA_CERT_FILE = (DataSource1,C:\CertificateAuthority\CAFlie.pem)

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

MAX_SQL

【指定形式】

MAX_SQL = (オブジェクトの数)

【実行パラメタの意味】

同一Connectionオブジェクト内で同時に作成できる、Statementオブジェクト、PreparedStatementオブジェクト、CallableStatementオブジェクトおよび、以下に記載するDatabaseMetaDataインタフェースの各メソッドを実行して作成できるResultSetオブジェクトの数を指定します。

  • getProcedures

  • getProcedureColumns

  • getTables

  • getSchemas

  • getCatalogs

  • getTableTypes

  • getColumns

  • getPrimaryKeys

  • getTypeInfo

  • getIndexInfo

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

MAX_SQL = (1024)

【パラメタの意味】
オブジェクトの数:

オブジェクトの数を2~32000の範囲で指定します。

ポイント

MAX_SQLの値を拡張して使用した場合、以下の考慮が必要です。

Symfoware/RDBでは、同一SQL文を繰り返し実行する場合の処理効率を図るため、SQL文を実行するための情報の個数をMAX_SQLに指定します。また、SQL文の処理手順を格納するOPLバッファのサイズを、OPL_BUFFER_SIZEに指定します。

SQL文情報の保持期間は、以下のようになります。

  • Statementオブジェクト、PreparedStatementオブジェクト、CallableStatementオブジェクトが作成されてから、close()メソッドが実行されるまで

  • DatabaseMetaDataインタフェースのgetProceduresメソッド、getProcedureColumnsメソッド、getTablesメソッド、getSchemasメソッド、getCatalogsメソッド、getTableTypesメソッド、getColumnsメソッド、getPrimaryKeysメソッド、getTypeInfoメソッド、getIndexInfoメソッドを実行して、ResultSetオブジェクトが作成されてから、ResultSetインタフェースのclose()メソッドが実行されるまで

なお、ResultSetの保持機能が省略されるかResultSetの保持機能にCLOSE_CURSORS_AT_COMMITが指定された場合、DatabaseMetaDataインタフェースから作成されたResultSetは、トランザクションがコミットされると、クローズされます。

OPL_BUFFER_SIZE

【指定形式】

OPL_BUFFER_SIZE = (バッファサイズ)

【実行パラメタの意味】

Symfoware/RDBでは、同一SQL文を複数回実行するときに、最初の実行で作成した処理手順を使用することによって処理効率の向上を図っています。MAX_SQLに指定した数の処理手順を格納するバッファのサイズを指定します。この領域は、サーバ側で獲得されます。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

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

【指定形式】

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

【実行パラメタの意味】

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

バッファサイズを大きくするほど性能は良くなりますが、メモリが圧迫され、他のアプリケーションの実行に支障が発生する場合があります。バッファサイズを大きくする場合、メモリの空き容量に注意してください。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

RESULT_BUFFER = (2,32)

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

使用するバッファの個数を0~255の範囲で指定します。省略した場合は、2が指定されたものとみなします。

バッファサイズ:

使用するバッファのサイズを1~10240の範囲で指定します。省略した場合は、32が指定されたものとみなします。単位はキロバイトです。

SORT_MEM_SIZE

【指定形式】

SORT_MEM_SIZE = (メモリサイズ)

【実行パラメタの意味】

ソート処理のために作業用ソート領域としてサーバ側で使用するメモリの大きさを指定します。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。

ソート処理のデータ量がSORT_MEM_SIZEに指定した値を超えると、二次記憶の作業用ソート領域にデータを書き出し、書き出したデータのソートを行います。このとき、二次記憶からのソートデータの読み込み回数はソートデータの全体量とSORT_MEM_SIZEに指定した値に依存します。このため、ソートデータの全体量に応じて、SORT_MEM_SIZEに指定する値を見積もってください。

ソート処理のデータ量がSORT_MEM_SIZEに指定した値の1万倍以上になると、ソート処理で必要なメモリが不足し、「JYP2221E 実行時の制限値を超えました.code:“4”」のエラーとなる場合があります。ただし、メモリ上の作業域の必要最低限なサイズは、作業用ソート領域へのレコードの格納順に依存するため、SORT_MEM_SIZEに指定した値の1万倍は目安となります。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

SORT_MEM_SIZE = (2112)

【パラメタの意味】
メモリサイズ:

サーバ側で使用するメモリの大きさを64~2097150の範囲で指定します。単位はキロバイトです。

WORK_ALLOC_SPACESIZE

【指定形式】

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

【実行パラメタの意味】

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

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

WORK_ALLOC_SPACESIZE = (10000,50000,WORK_PATHで指定したパス名のディスク容量,HOLD)

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


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

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

WORK_ALLOC_SPACESIZE = (10000,50000)

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

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

【指定形式】

WORK_MEM_SIZE = (メモリサイズ)

【実行パラメタの意味】

作業用テーブルとしてサーバ側で使用するメモリの大きさを指定します。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

WORK_MEM_SIZE = (128)

【パラメタの意味】
メモリサイズ:

サーバ側で使用するメモリの大きさを64~2097150の範囲で指定します。単位はキロバイトです。

WORK_PATH

【指定形式】

WORK_PATH = (パス名[,パス名]・・・)

【実行パラメタの意味】

サーバ側で使用するソート作業域、作業用テーブル域の獲得先ディレクトリを指定します。“Symfoware/RDBを起動するユーザID”および“RDBコマンドを実行するユーザID”には、指定するディレクトリへの書込み権が必要です。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

SolarisLinuxWORK_PATH = (/var/tmp)

WindowsWORK_PATH = (Symfoware/RDBがインストールされているディレクトリ\TMP)

データベース簡単運用で、いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合は、以下の値が設定されます。

WORK_PATH = (データ格納先ディレクトリ\RDBシステム名\USR\TMP)

参照

  • 作業用ソート領域および作業用テーブルの見積りについては、“アプリケーション開発ガイド(共通編)”の“ソート作業域の見積り”を参照してください。

  • データベース簡単運用の場合の省略値として設定されるデータ格納先ディレクトリについては、“データベース簡単運用ガイド”を参照してください。

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

獲得先ディレクトリを指定します。

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

CAL_ERROR

【指定形式】

CAL_ERROR = ({REJECT | NULL})

【実行パラメタの意味】

代入処理でオーバフローが発生した場合の処理を指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CAL_ERROR = (REJECT)

【パラメタの意味】
REJECT:

例外エラーとします。

NULL:

演算結果をNULLとします。

CHARACTER_TRANSLATE

【指定形式】

CHARACTER_TRANSLATE = ({CLIENT | SERVER})

【実行パラメタの意味】

データベースシステムの文字コード系が、アプリケーションで使用している文字コード系と異なる場合、コード変換をクライアントで行うか、サーバで行うかを指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

CHARACTER_TRANSLATE = (SERVER)

【パラメタの意味】
CLIENT:

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

SERVER:

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

ポイント

サーバの負荷を少しでも減らしたい場合は、クライアントで行うよう指定します。

JAVA_CONVERTER

【指定形式】

JAVA_CONVERTER = (エンコーディング名)

【実行パラメタの意味】

JDBCドライバがコード変換時に使用する、Javaのエンコーディングを指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、JDBCドライバが動作しているJava実行環境に合わせて、自動設定されます。

【パラメタの意味】
エンコーディング名:

JDBCドライバがコード変換時に使用する、Javaのエンコーディングを指定します。

Java VMでサポートされているエンコーディング名を指定してください。

アプリケーション実行環境のロケールがCで、ASCIIコード範囲外の文字データを利用する場合、本パラメタで、対象データのエンコーディングを指定してください。

LOWERCASE_NAME

【指定形式】

LOWERCASE_NAME =({ YES | NO })

【実行パラメタの意味】

列名に全角小文字を使用していて、ResultSet.getXXXメソッドを使用する場合に、指定した列名を正しく認識させるために指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

LOWERCASE_NAME =(NO)

【パラメタの意味】
YES:

Symfoware/RDBの表定義で、列名に全角小文字を使用している場合に指定します。

NO:

Symfoware/RDBの表定義で、列名に全角小文字を使用していない場合に指定します。

WindowsSURROGATE_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:

各国語文字の補助文字1文字(4バイト)を1文字として扱います。

2:

従来どおり、各国語文字の補助文字1文字(4バイト)を2文字(2バイト×2)として扱います。

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

DEFAULT_INDEX_SIZE

【指定形式】

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

【実行パラメタの意味】

格納構造定義を行わないインデックスを作成する場合、インデックスのベース部とインデックス部の割付け量、ページ長などを指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

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

【指定形式】

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

【実行パラメタの意味】

格納構造定義を行わない表を作成する場合、OBJECT構造の表のデータ格納域の割付け量、ページ長などを指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

DEFAULT_OBJECT_TABLE_SIZE = (32,32768,32768,0)

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

データ格納域のページ長を指定します。必ず32を指定します。単位はキロバイトです。

初期量:

データ格納域の初期量を2~2097150の範囲で指定します。単位はキロバイトです。

拡張量:

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

拡張契機:

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

注意

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

DEFAULT_TABLE_SIZE

【指定形式】

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

【実行パラメタの意味】

格納構造定義を行わない表を作成する場合、表のデータ格納域の割付け量、ページ長などを指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

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

【指定形式】

DSI_EXPAND_POINT=({ON | OFF})

【実行パラメタの意味】

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

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

DSI_EXPAND_POINT=(ON)

【パラメタの意味】
ON:

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

OFF:

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

INCLUSION_DSI

【指定形式】

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

【実行パラメタの意味】

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

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

【パラメタの意味】
データベース名.DSI名:

DSIを限定したい表のDSI名を指定します。

TEMPORARY_INDEX_SIZE

【指定形式】

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

【実行パラメタの意味】

一時表にインデックスを定義する場合に、インデックスのベース部とインデックス部の割付け量を指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

TEMPORARY_INDEX_SIZE = (160,64,256,0)

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

ベース部の初期量を64~2097150の範囲で指定します。単位はキロバイトです。

インデックス部初期量:

インデックス部の初期量を64~2097150の範囲で指定します。単位はキロバイトです。

拡張量:

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

拡張契機:

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

注意

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

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

TEMPORARY_TABLE_SIZE

【指定形式】

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

【実行パラメタの意味】

一時表を定義する場合に、表のデータ格納域の割付け量を指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

TEMPORARY_TABLE_SIZE = (256,512,0)

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

データ格納域の初期量を64~2097150の範囲で指定します。単位はキロバイトです。

拡張量:

データ格納域の拡張量を32~2097150の範囲で指定します。省略した場合は、512が指定されたものとみなします。単位はキロバイトです。

拡張契機:

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

注意

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

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

DSO_LOCK

【指定形式】

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

【実行パラメタの意味】

アプリケーションで使用するDSOおよびその占有の単位、占有モードを指定します。
本パラメタを指定した場合、指定されなかったDSOについては、占有の単位がページとなります。

DSO_LOCKが指定された場合、ConnectionインタフェースのsetTransactionIsolationメソッド、SET TRANSACTION 文、JDBCドライバで指定可能なオプションのdefault_isolationおよびdefault_readonly、クライアント用の動作環境ファイルのDEFAULT_ACCESS_MODEおよびDEFAULT_ISOLATIONは指定できません。

占有の単位は、ctuneparamオプションのCLI_DSO_LOCKまたはDSO_LOCK、および、ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKでの指定により決定します。

なお、ctuneparamオプションのCLI_R_LOCKおよび動作環境ファイルのR_LOCKの値により、DSO_LOCKを指定できない場合があります。以下にDSO_LOCKと、CLI_R_LOCKおよびR_LOCKの関係を示します。

表5.4 DSO_LOCKとR_LOCKの関係

ctuneparamオプションのCLI_R_LOCK

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

システム用の動作環境ファイルのR_LOCK

CLI_DSO_LOCKまたはDSO_LOCKの指定

占有の単位

NO

NO

NO

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による
(注1)

YES

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による
(注1)

YES

NO

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による
(注1)

YES

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による
(注1)

省略

NO

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による
(注1)

YES

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による
(注1)

YES

NO

NO

指定不可

行単位で占有
(注2)

YES

指定不可

行単位で占有
(注2)

YES

NO

指定不可

行単位で占有
注2)

YES

指定不可

行単位で占有
(注2)

省略

NO

指定不可

行単位で占有
(注2)

YES

指定不可

行単位で占有
(注2)

省略

NO

NO

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による
(注1)

YES

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による
(注1)

YES

NO

指定不可

行単位で占有
(注2)

YES

指定不可

行単位で占有
(注2)

省略

NO

指定可

CLI_DSO_LOCKまたはDSO_LOCKの指定による
(注1)

YES

指定不可

行単位で占有
(注2)

注1) CLI_DSO_LOCKおよびDSO_LOCKの指定を省略した場合、Symfoware/RDBによって占有の単位が選択されます。詳細は、“アプリケーション開発ガイド(共通編)”の“排他の属性と選択方法”の“Symfoware/RDBによる選択”を参照してください。

注2) CLI_DSO_LOCKまたはDSO_LOCKを指定した場合、データベースへの接続時にエラーとなります。

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

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

データベース名.DSO名

P:

DSOの占有の単位をページとします。省略した場合は、占有の単位はDSIになります。
DSO名に指定されたDSOにPRECEDENCE(1)が指定されている場合、本パラメタは指定できません。

占有モード:

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

ISOLATION_WAIT

【指定形式】

ISOLATION_WAIT = ({WAIT | REJECT})

【実行パラメタの意味】

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

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

ISOLATION_WAIT = (WAIT)

【パラメタの意味】
WAIT:

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

REJECT:

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

R_LOCK

【指定形式】

R_LOCK = ({YES | NO})

【実行パラメタの意味】

占有の単位を行とするかどうかを指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

R_LOCK = (YES)

【パラメタの意味】
YES:

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

NO:

占有の単位は、CLI_DSO_LOCKまたはDSO_LOCKの指定に従います。このパラメタを指定し、かつCLI_DSO_LOCKおよびDSO_LOCKが指定されていない場合は、Symfoware/RDBによって自動的に占有の単位が選択されます。

データベース簡単運用の場合、占有の単位は、表またはインデックスとなります。

参照

詳細については、“アプリケーション開発ガイド(共通編)”の“排他制御”を参照してください。

また、データベース簡単運用の場合は、“アプリケーション開発ガイド(共通編)”の“トランザクションと排他制御(データベース簡単運用の場合)”を参照してください。

注意

  • ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKがNOの場合、ConnectionインタフェースのsetTransactionIsolationメソッドまたはSET TRANSACTION文にTRANSACTION_REPEATABLE_READを指定しても、独立性水準はSERIALIZABLEになります。

  • ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKがYESの場合、ConnectionインタフェースのsetTransactionIsolationメソッドまたはSET TRANSACTION文にTRANSACTION_SERIALIZABLEを指定しても、独立性水準はREPEATABLE READになります。

  • データベース簡単運用でない場合、ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKがNOのときには、DSO定義でPRECEDENCE(1)が指定されたSEQUENTIAL構造の表にアクセスするアプリケーションの占有の単位はDSIになります。

◆トランザクションに関する実行パラメタ

DEFAULT_ACCESS_MODE

【指定形式】

DEFAULT_ACCESS_MODE = ({READ_ONLY | READ_WRITE})

【実行パラメタの意味】

トランザクションアクセスモードの初期値を指定します。DEFAULT_ACCESS_MODEが指定された場合、プロセスで最初に実行されるSQL文の直前でSET TRANSACTION文が実行されたことになります。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

DEFAULT_ACCESS_MODE = (READ_WRITE)

注意

ctuneparamオプションのCLI_DSO_LOCKまたは動作環境ファイルのDSO_LOCKを指定して、DEFAULT_ACCESS_MODEを指定した場合は、サーバ接続時にエラーが発生します。

【パラメタの意味】
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_ISOLATION = (DEFAULT)

データベース簡単運用で本実行パラメタの指定を省略した場合は、省略値として以下の値が設定されます。

DEFAULT_ISOLATION = (READ COMMITTED)

【パラメタの意味】
DEFAULT:

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

READ_UNCOMMITTED:

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

READ_COMMITTED:

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

REPEATABLE_READ:

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

SERIALIZABLE:

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

注意

  • ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKがNOの場合、DEFAULT_ISOLATIONまたはSET TRANSACTION文にREPEATABLE_READを指定しても、独立性水準はSERIALIZABLEになります。

  • ctuneparamオプションのCLI_R_LOCKまたは動作環境ファイルのR_LOCKがYESの場合、DEFAULT_ISOLATIONまたはSET TRANSACTION文にSERIALIZABLEを指定しても、独立性水準はREPEATABLE READになります。

  • ctuneparamオプションのCLI_DSO_LOCKまたは動作環境ファイルのDSO_LOCKを指定して、DEFAULT_ISOLATIONを指定した場合は、サーバ接続時にエラーが発生します。

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

ROUTINE_SNAP

【指定形式】

ROUTINE_SNAP = ({ON | OFF},ファイル名[,出力レベル])

【実行パラメタの意味】

ROUTINE_SNAP機能を利用するかどうかを指定します。

ROUTINE_SNAP機能は、SQL手続き文の実行情報をファイルに出力する機能です。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

ROUTINE_SNAP = (OFF)

参照

ROUTINE_SNAP機能の詳細および使用方法については、“アプリケーション開発ガイド(埋込みSQL編)”の“アプリケーションのデバッグ”を参照してください。

【パラメタの意味】
ON:

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

OFF:

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

ファイル名:

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

複数のアプリケーションが動作する場合は、個別のトレース情報を出力しません。

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

出力レベル:

出力する情報のレベルとして、1または2を指定します。省略した場合は、2が指定されたものとみなします。

参照

出力レベルの指定と出力情報の対応については、“アプリケーション開発ガイド(埋込みSQL編)”の“ROUTINE_SNAP機能の利用方法”を参照してください。

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

ACCESS_PLAN

【指定形式】

ACCESS_PLAN = ({ON | OFF},ファイル名[,[出力レベル][,[SQLアドバイザ出力レベル]]])

【実行パラメタの意味】

アプリケーション単位でアクセスプランを取得するかどうかを指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

ACCESS_PLAN = (OFF)

参照

アクセスプランについては、“アプリケーション開発ガイド(共通編)”の“アクセスプラン”を参照してください。

【パラメタの意味】
ON:

アクセスプラン取得機能を利用する場合に指定します。

OFF:

アクセスプラン取得機能を利用しない場合に指定します。

ファイル名:

出力先のサーバ側のファイル名を、絶対パスで指定します。指定されたファイルがすでに存在する場合は、情報を追加して出力します。
また、指定するパスが存在することと、CONNECT文で指定したユーザIDに対する書込み権があることを確認してください。

出力レベル:

出力レベルには1または2を指定します。1を指定すると、アクセスプランのセクション情報のみを出力します。2を指定すると、セクション内の各エレメント詳細情報も出力します。省略した場合は、2が指定されたものとみなします。

SQLアドバイザ出力レベル:

SQLアドバイザ出力レベルには、“ADVICE”または“NOADVICE”を指定します。“ADVICE”を指定すると、SQL文に対するアドバイスを出力します。“NOADVICE”を指定すると、SQL文に対するアドバイスを出力しません。省略した場合は、“ADVICE”が指定されたものとみなします。

SQL_TRACE

【指定形式】

SQL_TRACE = ({ON | OFF},性能情報ファイル名[,出力レベル])

【実行パラメタの意味】

アプリケーション単位でSQL性能情報を取得するかどうかを指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

SQL_TRACE = (OFF)

【パラメタの意味】
ON:

SQL性能情報取得機能を利用する場合に指定します。

OFF:

SQL性能情報取得機能を利用しない場合に指定します。

性能情報ファイル名:

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

複数のアプリケーションが動作する場合は、個別のトレース情報を出力しません。

アプリケーションがマルチスレッド環境で動作する場合は、出力ファイル名の後にプロセス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

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

RCV_MODE

【指定形式】

RCV_MODE = ({RCV | NRCV})

【実行パラメタの意味】

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

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

RCV_MODE = (RCV)

【パラメタの意味】
RCV:

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

NRCV:

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

◆予約語とSQL機能に関する実行パラメタ

SQL_LEVEL

【指定形式】

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

【実行パラメタの意味】

アプリケーションの予約語とSQL機能のレベルを設定します。

予約語とSQL機能のレベルを設定することで、キーワードの範囲と利用可能なSQLの機能を変更できます。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

SQL_LEVEL = (SQL2007)

SQLの機能とそれを利用可能なレベルとの関係を以下に示します。

表に記載のない機能は、SQL_LEVELに関係なく利用可能です。

表5.5 SQL_LEVELと利用可能なSQLの機能一覧

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機能のレベルが指定されていた場合も、本パラメタで指定された値が有効となります。

【パラメタの意味】
SQL88:

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

SQL92:

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

SQL95:

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

SQL96:

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

SQL2000:

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

SQL2007:

予約語とSQL機能のレベルをSQL2007とします。

参照

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

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

MAX_PARALLEL

【指定形式】

MAX_PARALLEL = (多重度)

【実行パラメタの意味】

SQL文でデータベースを並列に検索する場合の多重度を指定します。

SQL文でデータベースを並列に検索できるのは、問合せ式で並列指定を指定した場合です。表のDSIの数が、指定した多重度よりも少ない場合は、DSIの数を多重度として並列検索を行います。

なお、この実行パラメタは、動作環境ファイルのPARALLEL_SCANに“YES”を指定した場合、ctuneparamオプションのCLI_PARALLEL_SCANに“YES”を指定した場合、またはSQL文の問合せ式に並列指定“PARALLEL”を指定した場合に有効となります。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、n多重(注)で並列検索を行います。

注意

OSまたは仮想OSが認識している搭載CPUコア数×2が設定されます。ただし、RDB構成パラメタファイルにてRDBCPUNUMが指定されている場合は、RDBCPUNUM×2が設定されます。

【パラメタの意味】
多重度:

SQL文でデータベースを並列に検索する場合の多重度を2~100の範囲で指定します。

PARALLEL_SCAN

【指定形式】

PARALLEL_SCAN = ({YES | NO})

【実行パラメタの意味】

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

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

PARALLEL_SCAN = (NO)

【パラメタの意味】
YES:

データベースを並列に検索します。この場合、そのアプリケーションの問合せを並列検索で実行できます。

ただし、以下のいずれかの条件を満たす場合、並列検索は実行されず従来のアクセス手順でデータベースをアクセスします。

  • 表がDSI分割されていない、または1つのDSIに対するアクセスの場合

  • クラスタキーを利用したデータベースアクセスが可能な場合

  • 探索条件にROW_IDを指定した検索の場合

  • インデックスを利用したデータベースアクセスが可能な場合

NO:

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

◆その他の実行パラメタ

ARC_FULL

【指定形式】

ARC_FULL = ({RETURN | WAIT})

【実行パラメタの意味】

アーカイブログファイルが満杯状態になったとき、エラー復帰するか否かを指定します。

本実行パラメタの設定は、“表5.3 クライアント用の動作環境ファイルの実行パラメタの種類”の優先順位に従います。いずれの動作環境ファイルにも本実行パラメタが指定されなかった場合、以下の値が設定されます。

ARC_FULL = (RETURN)

【パラメタの意味】
RETURN:

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

WAIT:

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

注意

  • “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句に順序を指定して、自動的に取得した値を表に挿入する。