Symfoware Server アプリケーション開発ガイド(JDBCドライバ編) - FUJITSU - |
目次 索引 |
第5章 アプリケーションのコンパイルおよび実行 | > 5.2 ネーミングサービスとJDBCデータソース登録ツール | > 5.2.3 JDBCデータソース登録ツール |
ctuneparamオプションには、Symfoware Serverのクライアント用の動作環境ファイルに相当する指定をすることができます。なお、ctuneparamオプションで設定できるパラメタ名の先頭文字“CLI_”を削除したパラメタが、Symfoware Serverのクライアント用の動作環境ファイルのパラメタと一致しています。
データソースにctuneparamオプションで指定したパラメタはコネクション接続時に読み込まれます。
本オプションは、ローカルアクセスまたはリモートアクセス(RDB2_TCP連携)時に指定可能です。
動作環境の設定項目の中には、システム用の動作環境ファイル、サーバ用の動作環境ファイルおよびctuneparamオプションで重複して指定できるパラメタがあります。重複して指定した場合の優先順位は、以下のとおりです。
サーバ用の動作環境ファイル
ctuneparamオプション
システム用の動作環境ファイル
ctuneparam='<param>'
<param>...ctuneparamオプションで指定するパラメタ
CLI_MAX_SQLとCLI_WAIT_TIMEを指定した場合
ctuneparam='CLI_MAX_SQL=(255);CLI_WAIT_TIME=(30)'
ctuneparamオプションに複数のパラメタを指定する場合、値を“;”(セミコロン)で区切って設定します。
JDBCドライバを利用するアプリケーションから指定可能なパラメタは以下となります。
分類 |
パラメタ |
概要 |
---|---|---|
通信 |
通信に使用するバッファサイズ |
|
使用するサーバ用の動作環境ファイル |
||
SQLエラー発生時のトランザクション |
||
1つのトランザクションの最大使用可能時間 |
||
通信時の待ち時間 |
||
作業領域など |
同時に操作できるオブジェクトの数 |
|
SQL文の実行手順を格納しておくバッファのサイズ |
||
一括FETCHを行う場合のバッファの数とサイズ |
||
作業用ソート領域として使うメモリサイズ |
||
作業用ソート領域および作業用テーブルとして使うファイルサイズ |
||
作業用テーブルとして使うメモリのサイズ |
||
作業用テーブルおよび作業用ソート領域のパス |
||
データ処理 |
代入処理でオーバフローが起きた場合の処理 |
|
文字コードの変換をクライアントで行うか否か |
||
表・インデックス |
格納構造定義を簡略化したインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量、ページ長など |
|
格納構造定義を簡略化した表を定義する場合のOBJECT構造の表のデータ格納域の初期量、拡張量、ページ長など |
||
格納構造定義を簡略化した表を定義する場合の表のデータ格納域の初期量、拡張量、ページ長など |
||
DSIの容量拡張を起動するか否か |
||
アプリケーションで使用するDSIを限定する |
||
一時表にインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量など |
||
一時表を定義する場合の表のデータ格納域の初期量、拡張量など |
||
アクセスプラン |
アプリケーション単位でアクセスプランを取得するか否かおよびSQL文に対するアドバイスを出力するか否か |
|
性能情報 |
インデックスを使用しないアクセスプランを選択するか否か |
|
ジョインする方法 |
||
結合表と他の表のジョイン順 |
||
四則演算の検索範囲について、インデックスの範囲検索、または、クラスタキー検索を行うか否か |
||
探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行うか否か |
||
ソート処理がレコードをハッシングして格納するための領域サイズ |
||
アプリケーション単位でSQL性能情報を取得するか否か |
||
述語ごとの検索範囲の選択率の値 |
||
インデックス検索と表データ取得のアクセスモデルTIDソートを利用するか否か |
||
TIDユニオンマージのアクセスモデルを有効にするか否か |
||
UPDATE文:探索またはDELETE文:探索の更新標的レコードを位置づける部分の占有モード |
||
排他 |
使用するDSOの占有の単位、占有モード |
|
占有待ちの方式 |
||
占有の単位を行とする |
||
デバッグ |
ストアドプロシジャのルーチンのトレースを出力するか否か |
|
リカバリ |
アプリケーションのリカバリ水準を指定する |
|
予約語 |
アプリケーションの予約語レベルを設定する |
|
並列クエリ |
データベースを並列に検索する場合の多重度 |
|
アプリケーション単位またはコネクション単位にデータベースを並列に検索するか否か |
||
その他 |
アーカイブログ満杯時にエラー復帰するか否か |
アプリケーション単位でアクセスプランを取得するかどうかを指定します。
CLI_ACCESS_PLAN = ({ON | OFF},ファイル名[,出力レベル][,SQLアドバイザ出力レベル])
CLI_ACCESS_PLAN = (OFF)
1を指定すると、アクセスプランのセクション情報のみを出力し、2を指定すると、セクション内の各エレメント詳細情報も出力します。
省略した場合は、2が指定されたものとみなします。
“ADVICE”を指定すると、SQL文に対するアドバイスを出力します。“NOADVICE”を指定すると、SQL文に対するアドバイスを出力しません。省略した場合は、“NOADVICE”が指定されたものとみなします。
アーカイブログファイルが満杯状態になったとき、エラー復帰するか否かを指定します。
CLI_ARC_FULL = ({RETURN | WAIT})
省略した場合は、システム用の動作環境ファイルにおけるARC_FULLの指定に従います。
“WAIT”を指定した場合、空きのアーカイブログファイルが作成されるまでアプリケーションは無応答状態となりますので注意してください。
また、本実行パラメタの指定が、互いに異なる複数のアプリケーションが同時に同じDSIを扱うような運用はしないでください。例えば、以下の事象が発生する場合があります。
トランザクションAは、CLI_ARC_FULL=RETURNを設定し、アーカイブログ満杯の状態であるとします。トランザクションBは、CLI_ARC_FULL=WAITを設定し、アーカイブログ満杯の状態で資源を占有しているとします。このとき、トランザクションBは、空きのアーカイブログファイルが作成されるまで待ちます。同じ資源にアクセスしているトランザクションAは、トランザクションBの終了を待つため、CLI_ARC_FULL=RETURNを設定しているにもかかわらず、無応答状態になります。
この場合は、rdblkinfコマンドのlオプションやrdblogコマンドのVオプションかつaオプションで排他やアーカイブログの状況を確認できます。また、アーカイブログに関する以下のシステムメッセージが表示されます。これらの情報をもとに、バックアップ可能なアーカイブログファイルをバックアップするか、または新規にアーカイブログファイルを追加して対処してください。
qdg13336w:RDB:WARNING 転送可能なアーカイブログ域が不足しています. qdg03132u:RDB:ERROR アーカイブログファイルが満杯です.
通信に利用するバッファサイズを指定します。
単位はキロバイトです。
CLI_BUFFER_SIZE = ([初期量][,拡張量])
省略した場合、1になります。
省略した場合、32になります。
代入処理でオーバフローが発生した場合の処理を指定します。
CLI_CAL_ERROR = ({REJECT | NULL})
CLI_CAL_ERROR = (REJECT)
データベースシステムの文字コード系が、アプリケーションで使用している文字コード系と異なる場合、コード変換をクライアントで行うか、サーバで行うかを指定します。
CLI_CHARACTER_TRANSLATE = ({CLIENT | SERVER})
CLI_CHARACTER_TRANSLATE = (SERVER)
サーバの負荷を少しでも減らしたい場合は、クライアントで行うよう指定します。
簡略化した格納構造定義を行う場合、インデックスのベース部とインデックス部の割り付け量、ページ長などを指定します。
CLI_DEFAULT_INDEX_SIZE=(
ベース部ページ長,
インデックス部ページ長,
ベース部初期量,
インデックス部初期量
[,拡張量,拡張契機])
システム用の動作環境ファイルの、DEFAULT_INDEX_SIZEの指定値
単位はキロバイトです。
単位はキロバイトです。
単位はキロバイトです。
省略した場合、32になります。
インデックス部の拡張量は、ベース部の5分の1の値となります。
インデックスのDSIの空き容量がここで指定した値になると、ベース部とインデックス部の拡張が行われます。
単位はキロバイトです。
省略した場合、0になります。
簡略化した格納構造定義を行う場合、OBJECT構造の表の、データ格納域の割り付け量、ページ長などを指定します。
CLI_DEFAULT_OBJECT_TABLE_SIZE = (
ページ長,
初期量
[,拡張量,拡張契機])
システム用の動作環境ファイルの、DEFAULT_OBJECT_TABLE_SIZEの指定値
必ず32を指定します。
単位はキロバイトです。
単位はキロバイトです。
省略した場合、32768になります。
表のDSIの空き容量がここで指定した値になると、データ格納域の拡張が行われます。
単位はキロバイトです。
省略した場合、0になります。
簡略化した格納構造定義を行う場合、表のデータ格納域の割り付け量、ページ長などを指定します。
CLI_DEFAULT_TABLE_SIZE = (
ページ長,
初期量
[,拡張量,拡張契機])
システム用の動作環境ファイルの、DEFAULT_TABLE_SIZEの指定値
単位はキロバイトです。
単位はキロバイトです。
省略した場合、64になります。
表のDSIの空き容量がここで指定した値になると、データ格納域の拡張が行われます。
単位はキロバイトです。
省略した場合、0になります。
データ操作で、DSIに指定された拡張契機(rdbalmdsiコマンドで定義します)を無視するかどうかを指定します。
CLI_DSI_EXPAND_POINT=({ON | OFF})
CLI_DSI_EXPAND_POINT=(ON)
データ操作で、DSIの空きページ容量が拡張契機に達した時点で、領域を拡張します。
データ操作で、DSIの空きページ容量が拡張契機に達しても、領域を拡張しません。この場合、DSIの空き領域が枯渇した時点で、領域を拡張します。
使用するDSOおよびその占有の単位、占有モードを指定します。
CLI_DSO_LOCKが指定された場合、ConnectionインタフェースのsetTransactionIsolationメソッドは指定できません。
また、システム用の動作環境ファイルのR_LOCKおよびctuneparamオプションのCLI_R_LOCKの値により、CLI_DSO_LOCKを指定できない場合があります。以下にCLI_DSO_LOCKとR_LOCKおよびCLI_R_LOCKの関係を示します。
ctuneparamオプションのCLI_R_LOCK |
システム用の動作環境ファイルのR_LOCK |
CLI_DSO_LOCKの指定 |
占有単位 |
---|---|---|---|
NO |
NO |
指定可 |
CLI_DSO_LOCKの指定による |
YES |
指定可 |
CLI_DSO_LOCKの指定による |
|
YES |
NO |
指定不可 |
行単位で占有(注) |
YES |
指定不可 |
行単位で占有(注) |
|
省略 |
NO |
指定可 |
CLI_DSO_LOCKの指定による |
YES |
指定不可 |
行単位で占有(注) |
注) CLI_DSO_LOCKを指定した場合、データベースへの接続時にエラーとなります。
CLI_DSO_LOCK = (DSO名[/[P][占有モード]][,DSO名[/[P][占有モード]]・・・])
データベース名.DSO名
省略した場合、占有の単位はDSIになります。
データベースを検索する時に、インデックスを使用せずにデータベースにアクセスするか否かを指定します。データウェアハウジングにおいて大量のデータを検索および集計する場合には、インデックスだけではデータが絞りきれず、インデックスを使う分だけ無駄なオーバヘッドが発生することがあります。このような場合は、当パラメタにYESを指定することにより、表の全件検索または並列スキャンのアクセスモデルを採用します。
CLI_IGNORE_INDEX = ({YES | NO})
CLI_IGNORE_INDEX = (NO)
DSIを限定したい表のDSI名を指定します。
限定されたDSIを含む表に対しては、そのDSIだけがデータ操作の範囲となります。また、このパラメタの指定により、探索条件の記述が省略ができます。なお、DSIを限定していない表に対しては、データ操作をすることができます。
CLI_INCLUSION_DSI = (
データベース名.DSI名
[,データベース名.DSI名・・・])
あるトランザクションで資源にアクセスしようとしたとき、別のトランザクションがその資源を占有していた場合に、資源の占有が解除されるまで待つかどうかを指定します。
CLI_ISOLATION_WAIT = ({WAIT | REJECT})
CLI_ISOLATION_WAIT = (WAIT)
ジョインする方法を指定します。
CLI_JOIN_RULE = ({AUTO | MERGE | FETCH})
CLI_JOIN_RULE = (AUTO)
結合表と他の表をジョインする場合のジョイン順を指定します。
CLI_JOIN_ORDER = ({AUTO | INSIDE | OUTSIDE})
CLI_JOIN_ORDER = (INSIDE)
SQL文でデータベースを並列に検索する場合の多重度です。
SQL文でデータベースを並列に検索できるのは、単一行SELECT文またはカーソル宣言で並列指定を指定した場合です。
表のDSIの数が、指定した多重度よりも少ない場合は、DSIの数を多重度として並列検索を行います。
CLI_MAX_PARALLEL = (多重度)
省略した場合は、システム用の動作環境ファイルにおけるMAX_PARALLELの指定に従って並列検索(並列クエリ)を行います。
並列クエリは、以下の場合に利用できます。
Symfoware Server Enterprise Extended Editionの場合
Symfoware Server Enterprise Editionの場合
Symfoware Server Standard Editionの場合
同一Connectionオブジェクト内で同時に作成できる、Statementオブジェクト、PreparedStatementオブジェクト、CallableStatementオブジェクトの数を指定します。
CLI_MAX_SQL = (オブジェクトの数)
CLI_MAX_SQL = (32)
Statementインタフェース、PreparedStatementインタフェース、CallableStatementインタフェースを使用して、同一SQL文を複数回実行するときに、最初の実行で作成した処理手順を使用することによって処理効率の向上を図っています。
この領域は、サーバ側で獲得されます。
CLI_OPL_BUFFER_SIZE = (バッファサイズ)
単位はキロバイトです。
省略した場合、256になります。
アプリケーション単位またはコネクション単位に、データベースを並列に検索する(並列クエリ)か否かを指定します。
並列クエリは、以下の場合に利用できます。
Symfoware Server Enterprise Extended Editionの場合
Symfoware Server Enterprise Editionの場合
Symfoware Server Standard Editionの場合
CLI_PARALLEL_SCAN = ({YES | NO})
CLI_PARALLEL_SCAN = (NO)
ただし、以下のいずれかの条件を満たす場合、並列検索は実行されず従来のアクセス手順でデータベースにアクセスします。
表がDSI分割されていない、または1つのDSIに対するアクセスの場合
クラスタキーを利用したデータベースアクセスが可能な場合
探索条件にROW_IDを指定した検索の場合
インデックスを利用したデータベースアクセスが可能な場合
ドライバのリカバリ水準を指定します。
CLI_RCV_MODE = ({RCV | NRCV})
CLI_RCV_MODE = (RCV)
この場合、リカバリを適用しないデータベースをアクセスすることはできますが、ログは取得されません。
この場合、リカバリを適用するデータベースを更新することはできません。
占有の単位を行にするかどうかを指定します。
CLI_R_LOCKにYESが指定された場合、以下の指定はできません。
サーバ用の動作環境ファイルのDSO_LOCK
ctuneparamオプションのCLI_DSO_LOCK
CLI_R_LOCK = ({YES | NO})
システム用の動作環境ファイルの、R_LOCKの指定値
このパラメタを指定し、かつDSO_LOCKが指定されていない場合は、Symfoware Serverによって自動的に占有の単位が選択されます。
動作環境ファイルのR_LOCKがNOで、ConnectionインタフェースのsetTransactionIsolationメソッドを省略、またはConnectionインタフェースのsetTransactionIsolationメソッドでTRANSACTION_REPEATABLE_READを指定した場合、独立性水準はSERIALIZABLEとなります。
動作環境ファイルのR_LOCKがYESで、ConnectionインタフェースのsetTransactionIsolationメソッドを省略、またはConnectionインタフェースのsetTransactionIsolationメソッドでTRANSACTION_SERIALIZABLEを指定した場合、独立性水準はREPEATABLE READとなります。
ROUTINE_SNAP機能を利用するかどうかを指定します。
CLI_ROUTINE_SNAP = ({ON | OFF},ファイル名[,出力レベル])
CLI_ROUTINE_SNAP = (OFF)
指定されたファイルがすでに存在する場合、情報を追加して出力します。
省略した場合、2になります。
JDBCドライバは、データを取り出すときの性能を良くするため、複数の行を一度に取り出し、JDBCドライバ内部に格納することができます。
この行を格納するバッファの数とサイズを指定します。
単位はキロバイトです。
また、1つのカーソルが1つのバッファを使用するので、複数のバッファを用意すれば、複数カーソルの操作の性能を良くすることができます。
バッファを使用しない場合、個数に0を指定します。
この領域は、クライアント側とサーバ側で獲得されます。
バッファサイズを大きくするほど性能は良くなりますが、メモリが圧迫され、他のアプリケーションの実行に支障が発生する場合があります。
バッファサイズを大きくする場合、メモリの空き容量に注意してください。
CLI_RESULT_BUFFER = (個数,サイズ)
使用するバッファの個数を0〜255で指定します。
省略した場合、2になります。
使用するバッファのサイズを1〜10240で指定します。
単位はキロバイトです。
省略した場合、32になります。
四則演算の検索範囲について、インデックス範囲検索、または、クラスタキーの検索を行うか否かを指定します。
CLI_SCAN_KEY_ARITHMETIC_RANGE = ({YES | NO})
CLI_SCAN_KEY_ARITHMETIC_RANGE = (YES)
探索条件のCASTオペランドに指定した列でインデックスの範囲検索、または、クラスタキー検索を行うか否かを指定します。
CLI_SCAN_KEY_CAST = ({YES | NO})
CLI_SCAN_KEY_CAST = (YES)
使用するサーバ用の動作環境ファイル名を指定します。
コネクションごとにサーバの実行環境を変更する場合に指定します。
CLI_SERVER_ENV_FILE = (SQLサーバ名,ファイル名)
ソート処理がレコードをハッシングして格納するための領域のサイズです。
単位はキロバイトです。
CLI_SORT_HASHAREA_SIZE = (メモリサイズ)
省略した場合は、メモリ上のすべてのレコードをハッシングして格納します。
ソート処理のために作業用ソート領域としてサーバ側で使用するメモリの大きさを指定します。
省略した場合、システム用の動作環境ファイルにおけるSORT_MEM_SIZEの指定に従います。
この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。
CLI_SORT_MEM_SIZE = (メモリサイズ)
単位はキロバイトです。
予約語のレベルを設定します。
予約語のレベルを設定することで、キーワードの範囲を変更できます。
ファンクションルーチンおよびロールを利用する場合は、SQL2000が指定されていなければなりません。
プロシジャルーチンで、条件宣言、ハンドラ宣言、SIGNAL文およびRESIGNAL文を利用する場合は、SQL2000が指定されていなければなりません。これらを利用しないプロシジャルーチンの場合は、SQL95、SQL96またはSQL2000のいずれかを指定します。
トリガ、行識別子または並列指定を利用する場合、SQL96またはSQL2000を指定します。
CLI_SQL_LEVEL = ({SQL88 | SQL92 | SQL95 | SQL96 | SQL2000})
CLI_SQL_LEVEL = (SQL2000)
アプリケーション単位でSQL性能情報を取得するかどうかを指定します。
CLI_SQL_TRACE = ({ON | OFF},性能情報ファイル名[,出力レベル])
CLI_SQL_TRACE = (OFF)
複数のアプリケーションが動作する場合は、個別のトレース情報を出力しません。
アプリケーションがマルチスレッド環境で動作する場合は、出力ファイル名の後にプロセスIDやセションIDなどの情報を自動的に付加して、個別のトレース情報を出力します。
省略した場合は、2が指定されたものとみなします。
BETWEEN述語、比較述語、LIKE述語およびCONTAINS関数でインデックスを検索する時、インデックスの検索範囲の割合を0以上1以下の小数で指定します。値は、小数第6位まで指定できます。
CLI_SS_RATE = ([選択率1][,[選択率2][,[選択率3][,[選択率4][,[選択率5]]]]])
省略値は、0.2
省略値は、0.25
省略値は、0.5
省略値は、0.4
省略値は、0.0001
一時表にインデックスを定義する場合に、インデックスのベース部とインデックス部の割付け量を指定します。単位はキロバイトです。
CLI_TEMPORARY_INDEX_SIZE = (ベース部初期量,インデックス部初期量[,拡張量,拡張契機])
この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるTEMPORARY_INDEX_SIZEの指定に従います。
一時表を定義する場合に、表のデータ格納域の割付け量を指定します。
単位はキロバイトです。
CLI_TEMPORARY_TABLE_SIZE = (初期量[,拡張量,拡張契機])
この実行パラメタを省略した場合は、システム用の動作環境ファイルにおけるTEMPORARY_TABLE_SIZEの指定に従います。
つまり、表の空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。
インデックス検索と表データ取得のアクセスモデルにおいて、TIDソートを利用するか否かを指定します。
CLI_TID_SORT = ({YES | NO})
CLI_TID_SORT = (YES)
TIDユニオンマージのアクセスモデルを有効にするか否かを指定します。
CLI_TID_UNION = ({YES | NO})
CLI_TID_UNION = (YES)
SQL文が実行中にエラーとなった場合のトランザクションの対処方法を指定します。
CLI_TRAN_SPEC = ({NONE | TRANSACTION_ROLLBACK})
CLI_TRAN_SPEC = (NONE)
1つのトランザクションで使用可能な時間を指定します。単位は秒です。0を指定すると無制限になります。指定時間を超過した場合には、トランザクションをロールバックして、接続中のコネクションを切断します。
CLI_TRAN_TIME_LIMIT = (最大トランザクション実行時間)
CLI_TRAN_TIME_LIMIT = (0)
UPDATE文:探索およびDELETE文:探索において、更新レコードを検索するアクセスモデルの表の占有モードを指定します。
CLI_USQL_LOCK = ({SH | EX})
CLI_USQL_LOCK = (SH)
サーバからのデータ受信の待ち時間を指定します。
単位は秒です。
このパラメタで指定された時間内に、サーバからのデータが受信できなかった場合、実行中のSQL文はエラーとなり、コネクションは切断されます。
0を指定した場合、データが受信できるまで待ちます。
CLI_WAIT_TIME = (待ち時間)
CLI_WAIT_TIME = (0)
Solaris 9上でサーバからのデータ受信の待ち時間を監視したい場合は、接続先情報にリモートアクセス(RDB2_TCP連携)を指定してください。
作業用ソート領域および作業用テーブルとしてサーバ側で使用するファイルサイズの初期量、増分量、最大量、保持指定を指定します。単位はキロバイトです。
CLI_WORK_ALLOC_SPACESIZE = ([初期量][,[増分量][,[最大量][,[保持指定]]]])
CLI_WORK_ALLOC_SPACESIZE = (10000,50000,,HOLD)
省略した場合は10000が指定されたとみなします。
省略した場合は、50000が指定されたとみなします。
省略した場合は、WORK_PATHで指定したパス名のディスク容量となります。
FREE:作業用ソート領域および作業用テーブルとして作成した外部ファイルを初期量まで解放します。
HOLD:作業用ソート領域および作業用テーブルとして作成した外部ファイルを保持します。
作業用テーブルとしてサーバ側で使用するメモリのサイズです。
単位はキロバイトです。
CLI_WORK_MEM_SIZE = (メモリサイズ)
省略した場合は、システム用の動作環境ファイルにおけるWORK_MEM_SIZEの指定に従います。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。
サーバ側で使用する作業用ソート領域および作業用テーブルとして、サーバ側での獲得先ディレクトリを指定します。
省略した場合、システム用の動作環境ファイルにおけるWORK_PATHの指定に従います。
CLI_WORK_PATH = (ワークパス名[,ワークパス名]・・・)
目次 索引 |