Symfoware Parallel Server RDBユーザーズガイド 応用プログラム開発編 |
目次
索引
![]() ![]() |
第5章 応用プログラムの実行 | > 5.4 応用プログラムの動作環境のチューニング |
ここでは、クライアント用の動作環境ファイルの定義方法と、定義する実行パラメタの種類、記述形式および意味について説明します。
ここでは、クライアント用の動作環境ファイルの定義方法を説明します。クライアント用の動作環境ファイルの定義は、以下の作業を順番に行います。
動作環境ファイルの雛形を複写する
実行パラメタを設定する
動作環境ファイルは、動作環境ファイルの雛形を応用プログラム実行時のカレントディレクトリなどに複写して作成します。なお、作成した動作環境ファイルを指定する方法の詳細は、“応用プログラムの起動”を参照してください。
動作環境ファイルの雛形のファイル名と格納ディレクトリを以下に示します。
実行パラメタは、テキスト形式の動作環境ファイルに汎用エディタを利用して設定してください。
図:クライアント用の動作環境ファイルに実行パラメタを設定した例に、動作環境ファイルに実行パラメタを設定した例を示します。
クライアント用の動作環境ファイルには、応用プログラムの実行に必要な環境情報として実行パラメタを記述します。
実行パラメタは、表:クライアント用の動作環境ファイルの実行パラメタの種類の種類があります。
分類 |
実行パラメタ |
概要 |
記述数 |
記述の省略 |
RDA |
---|---|---|---|---|---|
通信 |
BUFFER_SIZE |
通信に利用するバッファ(クライアント側)のサイズ |
単一 |
省略可能 |
有効 |
DEFAULT_CONNECTION |
サーバとの結合情報のデフォルト |
単一 |
CONNECT文にDEFAULTを指定する場合は、省略不可 |
有効 |
|
SERVER_ENV_FILE |
使用するサーバ用の動作環境ファイル名 |
複数可 |
省略可能 |
無効 |
|
SERVER_SPEC |
リモートのサーバと通信するための情報 |
複数可 |
リモートのデータベースにアクセスする場合省略不可。ローカルの場合は、指定できない。 |
有効 |
|
TRAN_SPEC |
SQLエラー発生時のトランザクション |
単一 |
省略可能 |
有効 |
|
WAIT_TIME |
通信時の待ち時間 |
単一 |
省略可能 |
有効 |
|
作業領域など |
DESC_NUM(注) |
応用プログラムで利用できる最大列数 |
単一 |
省略可能 |
有効 |
DESCRIPTOR_SPEC |
動的SQLのSQL記述子の情報 |
単一 |
省略可能 |
有効 |
|
MAX_SQL |
同時に操作できるSQL文の数 |
単一 |
省略可能 |
有効 |
|
OPL_BUFFER_SIZE |
SQL文の実行手順を格納しておくバッファのサイズ |
単一 |
省略可能 |
無効 |
|
RESULT_BUFFER |
一括FETCHを行う場合のバッファの数とサイズ |
単一 |
省略可能 |
無効 |
|
SORT_MEM_SIZE |
作業用ソート領域として使うメモリサイズ |
単一 |
省略可能 |
無効 |
|
WORK_ALLOC_SPACESIZE |
作業用テーブルおよび作業用ソート領域として使用するファイルサイズ |
単一 |
省略可能 |
無効 |
|
WORK_MEM_SIZE |
作業用テーブルとして使うメモリのサイズ |
単一 |
省略可能 |
無効 |
|
WORK_PATH |
作業用テーブルおよび作業用ソート領域のパス |
単一 |
省略可能 |
無効 |
|
文字データ処理 |
CAL_ERROR |
代入処理でオーバフローが起きた場合の処理 |
単一 |
省略可能 |
無効 |
CHARACTER_TRANSLATE |
文字コードの変換をクライアントで行うか否か |
単一 |
省略可能 |
有効 |
|
NCHAR_CODE |
応用プログラム中の日本語文字のコード |
単一 |
省略可能 |
有効 |
|
RDA_CONV_CODE(注) |
文字コード系を指定する |
単一 |
省略可能 |
有効 |
|
表・インデックス |
DEFAULT_INDEX_SIZE |
格納構造定義を簡略化したインデックスを定義する場合のインデックスのデータ格納域の初期量、拡張量、ページ長など |
単一 |
省略可能 |
無効 |
DEFAULT_TABLE_SIZE |
格納構造定義を簡略化した表を定義する場合の表のデータ格納域の初期量、拡張量、ページ長など |
単一 |
省略可能 |
無効 |
|
DSI_EXPAND_POINT |
DSIの容量拡張を起動するか否か |
単一 |
省略可能 |
無効 |
|
INCLUSION_DSI |
応用プログラムで使用するDSIを限定する |
単一 |
省略可能 |
無効 |
|
排他 |
DSO_LOCK |
使用するDSOの排他の単位、排他モード |
単一 |
省略可能 |
無効 |
ISOLATION_WAIT |
排他待ちの方式 |
単一 |
省略可能 |
無効 |
|
デバッグ |
ROUTINE_SNAP |
ROUTINE_SNAP機能を利用するか否か |
単一 |
省略可能 |
無効 |
SQL_SNAP |
SQL_SNAP機能を利用するか否か |
単一 |
省略可能 |
有効 |
|
メッセージ |
MSG_LANG |
表示するメッセージの言語種を設定する |
単一 |
省略可能 |
有効 |
MSG_PRINT |
SQL文実行時にエラーメッセージを表示するか否か |
単一 |
省略可能 |
有効 |
|
リカバリ |
RCV_MODE |
応用プログラムのリカバリ水準を指定する |
単一 |
省略可能 |
無効 |
予約語 |
SQL_LEVEL |
応用プログラムの予約語のレベルを設定する |
単一 |
省略可能 |
無効 |
その他 |
SIGNAL_INF |
シグナルを応用プログラムで利用するか否か |
単一 |
省略可能 |
無効 |
BUFFER_SIZE = ([初期量][,拡張量])
通信に利用するバッファの大きさを指定します。単位はキロバイトです。
DEFAULT_CONNECTION = (SQLサーバ名[,ログイン名,パスワード])
以下の場合のサーバとの結合情報を指定します。
応用プログラムにCONNECT文を記述しない場合
CONNECT文にキーワード“DEFAULT”を指定した場合
CONNECT文のユーザ指定を省略した場合
結合するデータベースに対して、ローカルアクセスかリモートアクセスかによって、指定形式が異なります。
ローカルアクセスの場合
DEFAULT_CONNECTION = ([RDBシステム名.]データベース名[,ログイン名,パスワード])
リモートアクセスの場合
DEFAULT_CONNECTION = (SQLサーバ名,ログイン名,パスワード)
ログイン名およびパスワードは、各サーバでは以下のように扱われます。
UNIXの場合
グローバルサーバの場合
SERVER_ENV_FILE = (SQLサーバ名,ファイル名)
使用するサーバ用の動作環境ファイル名を指定します。コネクション(データベース環境)ごとにサーバの応用プログラム実行環境を変更する場合に指定します。
SERVER_SPEC = (通信方法,SQLサーバ名,[データ資源名],[ホスト名],[ポート番号])
CONNECT文でSQLサーバ名を指定した場合、サーバとの通信状態を確立するために必要な情報を記述します。このため、CONNECT文で接続するSQLサーバ名は、応用プログラムの実行時にすべてSERVER_SPECに記述しておく必要があります。ローカルのデータベースだけにアクセスする場合は、この実行パラメタは指定しません。
なお、通信方法によって、記述形式が異なります。
性能を重視した通信(RDB2_TCP)の場合
SERVER_SPEC = (RDB2_TCP,SQLサーバ名,データ資源名,ホスト名,ポート番号)
汎用的な通信(RDA)の場合
SERVER_SPEC = (RDA,SQLサーバ名,データ資源名,ホスト名,ポート番号)
RDA : RDA-SVを経由してデータベースシステムと結合する。
RDB2_TCP: データベースシステムへダイレクトに結合する。
通信方法がRDAの場合、データ資源名およびポート番号の詳細については、利用するサーバに対応した“RDA-SVオペレーションガイド”を参照してください。
通信方法がRDB2_TCPの場合、システム用の動作環境ファイルにおいて、MAX_CONNECT_TCPを必ず設定してください。また、ポート番号の詳細については、利用するサーバに対応した“RDB管理者ガイド”を参照してください。
TRAN_SPEC = ({NONE | TRANSACTION_ROLLBACK})
SQL文が実行中にエラーとなった場合のトランザクションの対処方法を指定します。省略した場合は、NONEが指定されたものとみなします。
WAIT_TIME = (待ち時間)
サーバからのデータ受信の待ち時間を指定します。
WAIT_TIMEで指定された時間内に、サーバからのデータが受信できなかった場合には、実行中のSQL文はエラーとなり、コネクションは切断されます。0を指定した場合は、データが受信できるまで待ちます。単位は秒です。
なお、本実行パラメタは、トランザクションモニタ配下では指定できません。
DESC_NUM = (列数)
応用プログラムの1つのSQL文で処理する最大列数を、1〜32767の範囲で指定します。省略した場合は、1000が指定されたとみなします。DESC_NUMは、SERVER_SPECの通信方法にRDAを設定した場合のみ指定できます。
DESCRIPTOR_SPEC = (WITH MAX省略値)
動的SQLのSQL記述子の情報を指定します。
MAX_SQL = (SQL文の数)
同一トランザクション内で指定できるSQL文の数を、2〜255の範囲で指定します。省略した場合は、32が指定されたとみなします。ただし、RDA接続の場合は、指定できる最大値は32です。
OPL_BUFFER_SIZE = (バッファサイズ)
Symfoware/RDBでは、同一SQL文を複数回実行するときに、最初の実行で作成した処理手順を使用することによって処理効率の向上を図っています。本パラメタは、このSQLの処理手順を格納するバッファのサイズを1〜10240で指定します。単位はキロバイトです。省略した場合は、256が指定されたとみなします。この領域は、サーバ側で獲得されます。
RESULT_BUFFER = ([個数][,バッファサイズ])
Symfoware/RDBでは、FETCH文によってデータを取り出すときの性能を良くするため、複数の行を一度に取り出します。この行を格納するバッファの数とサイズを指定します。バッファサイズを大きくするほど、FETCHの性能が良くなります。また、1つのカーソルが1つのバッファを使用するので、複数のバッファを用意すれば、複数のカーソルの操作の性能を良くすることができます。バッファを使用しない場合は、個数に0を指定します。単位はキロバイトです。この領域は、クライアント側とサーバ側で獲得されます。
SORT_MEM_SIZE = (メモリサイズ)
ソート処理のために作業用ソート領域としてサーバ側で使用するメモリの大きさを、64〜2147483647の範囲で指定します。単位はキロバイトです。省略した場合は、2112が指定されたとみなします。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。
WORK_ALLOC_SPACESIZE = ([初期量],[増分量],[最大量])
作業用ソート領域および作業用テーブルとしてサーバ側で使用するファイルサイズの初期量、増分量、最大量を指定します。単位はキロバイトです。この実行パラメタを省略した場合は、以下の値が指定されたとみなします。最大量は指定されなかったものとみなし、省略した場合の値が設定されます。
WORK_ALLOC_SPACESIZE = (10000,50000)
WORK_MEM_SIZE = (メモリサイズ)
作業用テーブルとしてサーバ側で使用するメモリのサイズを64〜2147483647の範囲で指定します。単位はキロバイトです。省略した場合は、64が指定されたとみなします。この領域は、RDBプロセスのローカルメモリにセション単位に獲得されます。
WORK_PATH = (ワークパス名[,ワークパス名]・・・)
サーバ側で使用する作業用ソート領域および作業用テーブルとして、サーバ側での獲得先ディレクトリを指定します。
省略した場合は、/var/tmpが指定されたとみなします。
CAL_ERROR = ({REJECT | NULL})
代入処理でオーバフローが発生した場合の処理を指定します。省略した場合は、REJECTが指定されたとみなします。
CHARACTER_TRANSLATE = ({CLIENT | SERVER})
データベースシステムの文字コード系が、応用プログラムで使用している文字コード系と異なる場合、コード変換をクライアントで行うか、サーバで行うかを指定します。省略した場合は、SERVERが指定されたとみなします。サーバの負荷を少しでも減らしたい場合は、クライアントで行うよう指定します。
NCHAR_CODE = ({EUC | COBOL_EUC})
応用プログラムのホスト変数内日本語文字のコードをEUCコードにするかCOBOL_EUCコードにするかを指定します。この実行パラメタは、ホスト変数の属性がNCHARである場合のみ有効です。応用プログラムをCOBOLで記述している場合は、どちらを指定しても、“COBOL_EUC”が指定されたとみなします。応用プログラムをC言語で記述している場合の省略値は、“EUC”です。日本語文字の使用方法については、“日本語文字の使用方法”を参照してください。
RDA_CONV_CODE=({EBCDIC_KANA | EBCDIC_EIJI | EBCDIC_ASCII})
動作環境ファイルの実行パラメタCHARACTER_TRANSLATEの指定でCLIENTを指定した場合、利用者が扱いたい文字コード系を指定します。省略した場合は、EBCDIC_KANAが指定されたとみなします。
CHARACTER_TRANSLATEでSERVERを指定した場合、このパラメタは無効になります。
RDA_CONV_CODEは、サーバがグローバルサーバの場合だけ指定できます。
DEFAULT_INDEX_SIZE = (ベース部ページ長,インデックス部ページ長,ベース部初期量,インデックス部初期量[,拡張量,拡張契機])
動的SQLを使用して格納構造定義を簡略化したインデックスを定義する場合、インデックスのベース部とインデックス部の割付け量、ページ長などを指定します。単位はキロバイトです。この実行パラメタを省略した場合は、以下の値が指定されたとみなします。
DEFAULT_INDEX_SIZE = (2,2,168,32,32,0)
DEFAULT_TABLE_SIZE = (ページ長,初期量[,拡張量,拡張契機])
動的SQLを使用して格納構造定義を簡略化した表を定義する場合、表のデータ格納域の割付け量、ページ長などを指定します。単位はキロバイトです。この実行パラメタを省略した場合は、以下の値が指定されたとみなします。
DEFAULT_TABLE_SIZE = (4,256,64,0)
DSI_EXPAND_POINT=({ON | OFF})
応用プログラムによるデータ操作で、DSIに指定された拡張契機(rdbalmdsiコマンドで定義します)を無効とするか否かを指定します。省略した場合、ONが指定されたとみなします。
INCLUSION_DSI = (データベース名.DSI名[,データベース名.DSI名・・・])
応用プログラムで、DSIを限定したい表のDSI名を指定します。
応用プログラムでは、限定されたDSIを含む表に対しては、そのDSIだけがデータ操作の範囲となります。また、本実行パラメタの指定により、応用プログラム中での探索条件の記述が省略ができます。なお、応用プログラムでDSIを限定していない表に対しては、データ操作をすることができます。
DSO_LOCK = (DSO名[/[P][{排他モード}]][,DSO名[/[P][{排他モード}]]・・・])
応用プログラムで使用するDSOおよびその排他の単位、排他モードを指定します。DSO_LOCKが指定された場合、SET TRANSACTION文は指定できません。
データベース名.DSO名
EX: 更新モードの排他を行います。
SH: 参照モードの排他を行います。
ISOLATION_WAIT = ({WAIT | REJECT})
あるトランザクションで資源にアクセスしようとしたとき、別のトランザクションがその資源を占有していた場合に、資源の占有が解除されるまで待つか否かを指定します。省略した場合は、WAITが指定されたとみなします。
ROUTINE_SNAP = ({ON | OFF},ファイル名[,出力レベル])
ROUTINE_SNAP機能を利用するかどうかを指定します。省略した場合は、OFFが指定されたとみなします。
ROUTINE_SNAP機能は、SQL手続き文の実行情報をファイルに出力する機能です。ROUTINE_SNAP機能の詳細および使用方法については、“応用プログラムのデバッグ”を参照してください。
SQL_SNAP = ({ON | OFF}[,ファイル名][,出力レベル][,繰り返し幅])
SQL_SNAP機能を利用するかどうかを指定します。省略した場合は、OFFが指定されたとみなします。
SQL_SNAP機能は、応用プログラムが実行したSQL文の情報をファイルに出力する機能です。SQL_SNAP機能の詳細および使用方法については、“応用プログラムのデバッグ”を参照してください。
MSG_LANG = ({JAPANESE | ENGLISH})
メッセージを表示するときの言語種を指定します。
MSG_PRINT = ({ON | OFF})
SQL文実行時に、エラーメッセージを標準エラー出力に出力するか否かを指定します。省略した場合は、OFFが指定されたとみなします。
RCV_MODE = ({RCV | NRCV})
応用プログラムのリカバリ水準を指定します。省略した場合はRCVが指定されたとみなします。
SQL_LEVEL = ({SQL92 | SQL95 | SQL96})
応用プログラムの予約語のレベルを設定します。省略した場合は、SQL92が指定されたとみなします。
プロシジャルーチンを利用する場合は、SQL95またはSQL96を指定します。
行識別子を利用する場合は、SQL96を指定します。
各予約語のレベルにおけるキーワードについては、“SQLリファレンスガイド”を参照してください。
SIGNAL_INF = ({YES | NO})
シグナルを応用プログラムで利用するか否かを設定します。省略した場合は、YESが指定されたとみなします。
なお、本実行パラメタは、トランザクションモニタ配下の応用プログラムでは指定しないでください。
目次
索引
![]() ![]() |