Symfoware(R) Server RDBユーザーズガイド 応用プログラム開発編 - FUJITSU -
目次 索引 前ページ次ページ

上へ第5章 応用プログラムの実行
上へ5.4 応用プログラムの動作環境のチューニング

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

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

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

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

  1. 動作環境ファイルの雛形を複写する
  2. 実行パラメタを設定する

◆動作環境ファイルの雛形を複写す

動作環境ファイルは、動作環境ファイルの雛形を応用プログラム実行時のカレントディレクトリなどに複写して作成します。なお、作成した動作環境ファイルを指定する方法の詳細は、“応用プログラムの起動(UNIX系の場合)”または“応用プログラムの起動(Windowsの場合)”を参照してください。

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

利用する製品名

OS

ディレクトリ

ファイル名

Symfoware Server

Solaris OE

/opt/FSUNrdb2b/demo

fssqlenvc

Linux

/opt/FJSVrdb2b/demo

fssqlenvc

Windows NT、
Windows 2000、
Windows XPおよびWindows Server 2003

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

SQLRT.ENV

Symfoware Server クライアント機能

Windows 98、
Windows Me、
Windows NT、
Windows 2000、
Windows XPおよびWindows Server 2003

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

SQLRT.ENV

雛形のファイルには、各パラメタの推奨値として以下の値を指定しています。

特にチューニングしない場合は推奨値を使用してください。

パラメタ名

推奨値

RESULT_BUFFER

2, 32

MAX_SQL

256

OPL_BUFFER_SIZE

256

SORT_MEM_SIZE

2112

WORK_MEM_SIZE

128

R_LOCK

YES

USQL_LOCK

EX

ARC_FULL

RETURN

DEFAULT_TABLE_SIZE

32, 256, 512, 0

DEFAULT_INDEX_SIZE

4, 4, 168, 32, 256, 0

TEMPORARY_TABLE_SIZE

256, 512, 0

TEMPORARY_INDEX_SIZE

160, 64, 256, 0

◆実行パラメタを設定する

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

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

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

image

■実行パラメタの種

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

実行パラメタは、表:クライアント用の動作環境ファイルの実行パラメタの種類に示す種類があります。

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

分類

実行パラメタ

概要

記述数

記述の省略

通信

BUFFER_SIZE

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

単一

省略可能

CLUSTER_SERVICE_NAME

応用プログラムをフェイルオーバ運用で実行する場合に必要な情報

単一

省略可能

DEFAULT_CONNECTION

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

単一

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

SERVER_ENV_FILE

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

複数可

省略可能

SERVER_SPEC

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

複数可

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

TRAN_SPEC

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

単一

省略可能

TRAN_TIME_LIMIT

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

単一

省略可能

WAIT_TIME

通信時の待ち時間

単一

省略可能

作業領域など

DESC_NUM(注1)

応用プログラムで利用できる最大列数

単一

省略可能

DESCRIPTOR_SPEC

動的SQLのSQL記述子の情報

単一

省略可能

MAX_SQL

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

単一

省略可能

OPL_BUFFER_SIZE

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

単一

省略可能

RESULT_BUFFER

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

単一

省略可能

SORT_MEM_SIZE

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

単一

省略可能

WORK_ALLOC_SPACESIZE

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

単一

省略可能

WORK_MEM_SIZE

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

単一

省略可能

WORK_PATH

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

単一

省略可能

文字データ処理

CAL_ERROR

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

単一

省略可能

CHARACTER_TRANSLATE

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

単一

省略可能

CHAR_SET

応用プログラム中の文字のコード

単一

省略可能

NCHAR_CODE

応用プログラム中の日本語文字のコード

単一

省略可能

RDA_CONV_CODE(注1)

文字コード系を指定する

単一

省略可能

表・インデックス

DEFAULT_DSI_TYPE

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

単一

省略可能

DEFAULT_INDEX_SIZE

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

単一

省略可能

DEFAULT_OBJECT_TABLE_SIZE

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

単一

省略可能

DEFAULT_TABLE_SIZE

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

単一

省略可能

DSI_EXPAND_POINT

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

単一

省略可能

INCLUSION_DSI

応用プログラムで使用するDSIを限定する

単一

省略可能

TEMPORARY_INDEX_SIZE

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

単一

省略可能

TEMPORARY_TABLE_SIZE

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

単一

省略可能

排他

DSO_LOCK

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

単一

省略可能

ISOLATION_WAIT

占有待ちの方式

単一

省略可能

R_LOCK

占有の単位を行とする

単一

省略可能

デバッグ

COREFILE_PATH(注2)

応用プログラムで異常が発生した場合のダンプ出力先

単一

省略可能

DIV_TRACE_FILE

複数プロセス配下で応用プログラムが動作している場合、個別のトレース情報を出力するか否か

単一

省略可能

ROUTINE_SNAP

ROUTINE_SNAP機能を利用するか否か

単一

省略可能

SET_CALLBACK

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

単一

省略可能

SQL_SNAP

SQL_SNAP機能を利用するか否か

単一

省略可能

アクセスプラン・性能情報(注3)

ACCESS_PLAN

応用プログラム単位でアクセスプランを取得するか否か

単一

省略可能

JOIN_RULE

ジョインする方法

単一

省略可能

JOIN_ORDER

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

単一

省略可能

SQL_TRACE

応用プログラム単位でSQL性能情報を取得するか否か

単一

省略可能

SS_RATE

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

単一

省略可能

TID_SORT

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

単一

省略可能

TID_UNION

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

単一

省略可能

USQL_LOCK

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

単一

省略可能

メッセージ

MSG_LANG(注2)

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

単一

省略可能

MSG_PRINT

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

単一

省略可能

リカバリ

RCV_MODE

応用プログラムのリカバリ水準を指定する

単一

省略可能

予約語

SQL_LEVEL

応用プログラムの予約語のレベルを設定する

単一

省略可能

並列クエリ

MAX_PARALLEL

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

単一

省略可能

PARALLEL_SCAN

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

単一

省略可能

その他

ALTER_CHECK

表の設計変更により表の列を変更した場合、応用プログラムへの影響をチェックするか否か

単一

省略可能

ARC_FULL

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

単一

省略可能

SIGNAL_INF(注4)

シグナルを応用プログラムで利用するか否か

単一

省略可能

注1) RDA接続(SERVER_SPECでRDAを指定)の場合のみ指定可能。
注2) Windowsでのみ使用可能。
注3) アクセスプランおよび性能情報に関する実行パラメタです。詳細については、“SQLTOOLユーザーズガイド”を参照してください。
注4) UNIX系でのみ使用可能。

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

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

BUFFER_SIZE

【指定形式】

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

【実行パラメタの意味】

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

【パラメタの意味】

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

CLUSTER_SERVICE_NAME

【指定形式】

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

【実行パラメタの意味】

PRIMECLUSTERまたはSafeCLUSTERと連携する場合、応用プログラムが登録されている、クラスタシステム上のクラスタサービスを指定します。

【パラメタの意味】

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

DEFAULT_CONNECTION

【指定形式】

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

【実行パラメタの意味】

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

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

【パラメタの意味】

RDBシステム名:
サーバがマルチRDB運用をしている場合に結合するRDBシステム名を指定します。省略した場合は、環境変数RDBNAMEに設定されたRDBシステム名が指定されたとみなします。マルチRDB運用は、Symfoware Server Enterprise Extended Edition、Symfoware Server Enterprise EditionおよびSymfoware Server Standard Editionで使用できます。
データベース名:
結合するデータベース名を指定します。
SQLサーバ名:
結合するSQLサーバ名を指定します。
認可識別子:
OSのログイン名、または、CREATE USER文で登録されている利用者名を指定します。
パスワード:
OSのパスワード、または、CREATE USER文で登録されているパスワードを指定します。

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

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

SERVER_ENV_FILE

【指定形式】

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

【実行パラメタの意味】

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

【パラメタの意味】

SQLサーバ名:
CONNECT文の実行で指定するSQLサーバ名を記述します。
ファイル名:
サーバ用の動作環境ファイル名を、絶対パスで指定します。

SERVER_SPEC

【指定形式】

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

【実行パラメタの意味】

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

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

【パラメタの意味】

通信方:
以下の中から1つを選択します。
SQLサーバ:
CONNECT文で指定したSQLサーバ名を記述します。SQLサーバ名は、SERVER_SPECで指定されたデータ資源に対して接続する際の名前を、利用者が任意に指定します。
データ資源:
サーバ上に存在するデータ資源名(アクセス環境名)を指定します。通信方法がRDB2_TCPの場合は、データベース名を指定します。
ホスト:
ホスト名管理ファイルに設定したホスト名を指定します。
ポート番:
サーバのポート番号を指定します。

通信方法がRDB2_TCPの場合、システム用の動作環境ファイルにおいて、MAX_CONNECT_TCPを必ず設定してください。また、ポート番号の詳細については、利用するサーバに対応した“セットアップガイド”を参照してください。

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

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

TRAN_SPEC

【指定形式】

TRAN_SPEC = ({NONE | TRANSACTION_ROLLBACK})

【実行パラメタの意味】

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

【パラメタの意味】

NONE:
各プラットフォームのトランザクションの仕様に従います。
TRANSACTION_ROLLBACK:
SQL文の実行がエラーとなった場合に、トランザクションをロールバックします。

TRAN_TIME_LIMIT

【指定形式】

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

【実行パラメタの意味】

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

【パラメタの意味】

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

WAIT_TIME

【指定形式】

WAIT_TIME = (待ち時間)

【実行パラメタの意味】

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

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

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

【パラメタの意味】

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

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

DESC_NUM

【指定形式】

DESC_NUM = (列数)

【実行パラメタの意味】

応用プログラムの1つのSQL文で処理する最大列を、1〜32767の範囲で指定します。省略した場合は、1000が指定されたとみなします。

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

DESCRIPTOR_SPEC

【指定形式】

DESCRIPTOR_SPEC = (WITH MAX省略値)

【実行パラメタの意味】

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

【パラメタの意味】

WITH MAX省略値:
ALLOCATE DESCRIPTORでWITH MAXを省略した場合の値を指定します。指定できる値は、1〜32767までの値です。省略した場合は、100が指定されたとみなします。ALLOCATE DESCRIPTOR文については、“SQLリファレンスガイド”を参照してください。

MAX_SQL

【指定形式】

MAX_SQL = (SQL文の数)

【実行パラメタの意味】

同一トランザクション内で指定できるSQL文のを、2〜32000の範囲で指定します。省略した場合は、32が指定されたとみなします。ただし、RDA接続の場合は、指定できる最大値は32です。

image

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

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

image

情報の保持数がMAX_SQLに指定した値を超えた場合、SQL文の実行情報は、古い情報から破棄されます。ただし、PREPARE文で準備されているSQL文およびオープン中のカーソルの情報は破棄できません。SQL文とSQL文情報の保持期間の関係を以下に示します。



SQL文の種類

SQL文情報の保持期間

動的SQL文

カーソル系

PREPARE文でSQL文が準備されてから、DEALLOCATE PREPARE文でSQL文が破棄されるまで

非カーソル系

静的SQL文

カーソル系

OPEN文が実行されてからカーソルがクローズされるまで

非カーソル系

SQL文が実行されている間

したがって、MAX_SQLには、以下の数の総和を指定してください。

OPL_BUFFER_SIZE

【指定形式】

OPL_BUFFER_SIZE = (バッファサイズ)

【実行パラメタの意味】

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

image

MAX_SQLの値を拡張した場合は、OPL_BUFFER_SIZEの値も変更する必要があります。以下の方法で見積もった値をキロバイト単位で指定してください。

SQLの処理手順を格納するバッファのサイズ
          = 0.7KB + Σ アクセス対象の表単位のSQL処理手順サイズ

アクセス対象の表単位のSQL処理手順サイズ 
          = 4.2KB + Σ SQL文単位のSQL処理手順サイズ

SQL文単位のSQL処理手順サイズ 
          = 0.17KB × 列数 + 0.08KB × 条件数 

RESULT_BUFFER

【指定形式】

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

【実行パラメタの意味】

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

【パラメタの意味】

個数:
使用するバッファの個数を0〜255で指定します。省略した場合は0が指定されたとみなします。
バッファサイズ:
使用するバッファのサイズを1〜10240で指定します。省略した場合は1が指定されたとみなします。

SORT_MEM_SIZE

【指定形式】

SORT_MEM_SIZE = (メモリサイズ)

【実行パラメタの意味】

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

WORK_ALLOC_SPACESIZE

【指定形式】

WORK_ALLOC_SPACESIZE = ([初期量][,[増分量][,[最大量]]])

【実行パラメタの意味】

作業用ソート領および作業用テーブとしてサーバ側で使用するファイルサイズの初期量、増分量、最大量を指定します。単位はキロバイトです。初期量、増分量、最大量のいずれかの値が省略された場合は、その値のデフォルト値が指定されたものとみなします。

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

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

WORK_ALLOC_SPACESIZE = (10000,50000)

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

WORK_ALLOC_SPACESIZE = (,50000,100000)

【パラメタの意味】

初期量:
作業用ソート領域および作業用テーブルとして外部ファイルを作成する場合の初期量を5000〜1000000の範囲で指定します。省略した場合は10000が指定されたとみなします。
増分量:
作業用ソート領域および作業用テーブルとして作成した外部ファイルを拡張する場合の増分量を1000〜1000000の範囲で指定します。省略した場合は、50000が指定されたとみなします。
最大量:
作業用ソート領域および作業用テーブルとして作成する外部ファイルの最大量を5000〜2000000の範囲で指定します。省略した場合は、WORK_PATHで指定したパス名のディスク容量となります。

WORK_MEM_SIZE

【指定形式】

WORK_MEM_SIZE = (メモリサイズ)

【実行パラメタの意味】

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

WORK_PATH

【指定形式】

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

【実行パラメタの意味】

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

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

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

CAL_ERROR

【指定形式】

CAL_ERROR = ({REJECT | NULL})

【実行パラメタの意味】

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

【パラメタの意味】

REJECT:
例外エラーとします。
NULL:
演算結果をナルとします。

CHARACTER_TRANSLATE

【指定形式】

CHARACTER_TRANSLATE = ({CLIENT | SERVER})

【実行パラメタの意味】

データベースシステムの文字コード系が、応用プログラムで使用している文字コード系と異なる場合、コード変をクライアントで行うか、サーバで行うかを指定します。省略した場合は、SERVERが指定されたとみなします。サーバの負荷を少しでも減らしたい場合は、クライアントで行うよう指定します。ただし、Windows 98およびWindows Meから、文字コード系がUNICODEのデータベースを参照する場合、サーバ側でUNICODEのデータをSJISにコード変換する必要があります。このときはSERVERを指定してください。

【パラメタの意味】

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

CHAR_SET

【指定形式】

CHAR_SET = ({EUC|SJIS|UTF8})

【実行パラメタの意味】

応用プログラムのホスト変数内文字列で使用するデータの文字コードを指定します。

応用プログラムをC言語で記述している場合で、かつ実行時のシステムのコード系がEUCの場合は、EUC、UTF8またはSJISを指定します。省略値は“EUC”です。実行時のシステムのコード系がシフトJISの場合は、EUC、UTF8またはSJISを指定します。省略値は“SJIS”です。

UNIX系システムにおいて、応用プログラムをCOBOLで記述している場合は、どれを指定しても、実行時のシステムのコード系により以下のようになります。

Windows NT、Windows 2000、Windows XPおよびWindows Server 2003において、応用プログラムをCOBOLで記述している場合は、文字コードはコンパイル時のオプションに依存します。

UNICODEは、Symfoware Server Enterprise Extended Edition、Symfoware Server Enterprise EditionおよびSymfoware Server Standard Editionで使用できます。

【パラメタの意味】

EUC:
ホスト変数内文字列のデータのコード系がEUCの場合に指定します。
SJIS:
ホスト変数内文字列のデータのコード系がシフトJISの場合に指定します。
UTF8:
ホスト変数内文字列のデータのコード系がUNICODEの場合に指定します。

NCHAR_CODE

【指定形式】

NCHAR_CODE = ({EUC|COBOL_EUC|UTF8|UCS2|UCS2B|SJIS})

【実行パラメタの意味】

応用プログラムのホスト変数内日本語文字列で使用するデータの文字コードを指定します。この実行パラメタは、ホスト変数の属性がNCHAR型の日本語文字列型である場合のみ有効です。

応用プログラムをC言語で記述している場合の、CHAR_SETとNCHAR_CODEの関係を以下に示します。



実行時のシステムのコード系

CHAR_SET(ホスト変数内文字列のデータのコー ド指定)

NCHAR_CODE(ホスト変数内日本語文字列のデータのコード指定)

EUC

EUC(デフォルト)

EUC(デフォルト)

COBOL_EUC

UTF8

UTF8(デフォルト)

UCS2

UCS2B

SJIS

SJIS(デフォルト)

シフトJIS

EUC

EUC(デフォルト)

COBOL_EUC

UTF8

UTF8(デフォルト)

UCS2

UCS2B

SJIS(デフォルト)

SJIS(デフォルト)

日本語文字の使用方法については、“日本語文字の使用方法”を参照してください。

UNIX系システムにおいて、応用プログラムをCOBOLで記述している場合は、どれを指定しても、実行時のシステムのコード系により以下のようになります。

Windows NT、Windows 2000、Windows XPおよびWindows Server 2003において、応用プログラムをCOBOLで記述している場合は、文字コードはコンパイル時のオプションに依存します。

UNICODEは、Symfoware Server Enterprise Extended Edition、Symfoware Server Enterprise EditionおよびSymfoware Server Standard Editionで使用できます。

【パラメタの意味】

EUC:
ホスト変数内日本語文字列のデータのコードがEUCの場合に指定します。
COBOL_EUC:
ホスト変数内日本語文字列のデータのコードがCOBOL_EUCの場合に指定します 。
UTF8:
ホスト変数内日本語文字列のデータのコードがUTF8の場合に指定します。
UCS2:
ホスト変数内日本語文字列のデータのコードがUCS2の場合に指定します。
UCS2B:
ホスト変数内日本語文字列のデータのコードがUCS2のバイトスワップ形式の場合に指定します。
SJIS:
ホスト変数内日本語文字列のデータのコードがシフトJISの場合に指定します。

RDA_CONV_CODE

【指定形式】

RDA_CONV_CODE=({EBCDIC_KANA | EBCDIC_EIJI | EBCDIC_ASCII})

【実行パラメタの意味】

動作環境ファイルの実行パラメタCHARACTER_TRANSLATEの指定でCLIENTを指定した場合、利用者が扱いたい文字コードを指定します。省略した場合は、EBCDIC_KANAが指定されたとみなします。

CHARACTER_TRANSLATEでSERVERを指定した場合、このパラメタは無効になります。

【パラメタの意味】

EBCDIC_KANA:
文字コード系がEBCDIC_カナの場合に指定します。
EBCDIC_EIJI:
文字コード系がEBCDIC_英字の場合に指定します。
EBCDIC_ASCII:
文字コード系がEBCDIC_アスキーの場合に指定します。

RDA_CONV_CODEは、サーバがグローバルサーバの場合だけ指定できます。

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

DEFAULT_DSI_TYPE

【指定形式】

DEFAULT_DSI_TYPE = {SEQUENTIAL | OBJECT}

【実行パラメタの意味】

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

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

【パラメタの意味】

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

DEFAULT_INDEX_SIZE

【指定形式】

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

【実行パラメタの意味】

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

【パラメタの意味】

ベース部ページ長:
ベース部のページ長を1、2、4、8、16、32の中から指定します。
インデックス部ページ長:
インデックス部のページ長を1、2、4、8、16、32の中から指定します。
ベース部初期量:
ベース部の初期量を2〜2097150の範囲で指定します。
インデックス部初期量:
インデックス部の初期量を2〜2097150の範囲で指定します。
拡張量:
インデックスのベース部の拡張量を1〜2097150の範囲で指定します。省略した場合は、32が指定されたとみなします。インデックス部の拡張量は、ベース部の5分の1の値となります。
拡張契機:
ベース部およびインデックス部の拡張を行うタイミングとして、DSIの空き容量を指定します。つまり、インデックスのDSIの空き容量がここで指定した値になると、インデックスのベース部およびインデックス部の拡張が行われます。省略した場合は、0が指定されたとみなします。

DEFAULT_OBJECT_TABLE_SIZE

【指定形式】

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

【実行パラメタの意味】

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

【パラメタの意味】

ページ長:
データ格納域のページ長を指定します。必ず32を指定します。
初期量:
データ格納域の初期量を2〜2097150の範囲で指定します。
拡張量:
データ格納域の拡張量を1〜2097150の範囲で指定します。省略した場合は、32768が指定されたとみなします。
拡張契機:
データ格納域の拡張を行うタイミングとして、表のDSIの空き容量を指定します。つまり、表のDSIの空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。省略した場合は、0が指定されたとみなします。

DEFAULT_TABLE_SIZE

【指定形式】

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

【実行パラメタの意味】

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

【パラメタの意味】

ページ長:
データ格納域のページ長を1、2、4、8、16、32の中から指定します。
初期量:
データ格納域の初期量を2〜2097150の範囲で指定します。
拡張量:
データ格納域の拡張量を1〜2097150の範囲で指定します。省略した場合は、64が指定されたとみなします。
拡張契機:
データ格納域の拡張を行うタイミングとして、表のDSIの空き容量を指定します。つまり、表のDSIの空き容量がここで指定した値になると、表のデータ格納域の拡張が行われます。省略した場合は、0が指定されたとみなします。

DSI_EXPAND_POINT

【指定形式】

DSI_EXPAND_POINT=({ON | OFF})

【実行パラメタの意味】

応用プログラムによるデータ操作で、DSIに指定された拡張契(rdbalmdsiコマンで定義します)を無効とするか否かを指定します。省略した場合、ONが指定されたとみなします。

【パラメタの意味】

ON:
DSIに定義された拡張契機は有効になります。応用プログラムによるデータ操作で、DSIの空きページ容量が拡張契機に達した時点で、領域を拡張します。
OFF:
DSIに定義された拡張契機は無効になります。応用プログラムによるデータ操作で、DSIの空きページ容量が拡張契機に達しても、領域を拡張しません。この場合、DSIの空き領域が枯渇した時点で、領域を拡張します。

INCLUSION_DSI

【指定形式】

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

【実行パラメタの意味】

応用プログラムで、DSIを限定したい表のDSI名を指定します。

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

image

TEMPORARY_INDEX_SIZE

【指定形式】

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

【実行パラメタの意味】

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

【パラメタの意味】

ベース部初期量:
ベース部の初期量を64〜2097150の範囲で指定します。
インデックス部初期量:
インデックス部の初期量を64〜2097150の範囲で指定します。
拡張量:
インデックスのベース部の拡張量を32〜2097150の範囲で指定します。インデックス部の拡張量は、ベース部の5分の1の値となります。
拡張契機:
ベース部およびインデックス部の拡張を行うタイミングとして、インデックスの空き容量を指定します。つまり、インデックスの空き容量がここで指定した値になると、インデックスのベース部およびインデックス部の拡張が行われます。

TEMPORARY_TABLE_SIZE

【指定形式】

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

【実行パラメタの意味】

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

【パラメタの意味】

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

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

DSO_LOCK

【指定形式】

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

【実行パラメタの意味】

応用プログラムで使用するDSOおよびその占有の単、占有モーを指定します。DSO_LOCKが指定された場合、SET TRANSACTIONは指定できません。

また、システム用およびクライアント用の動作環境ファイルにR_LOCK=YESを指定することはできません。

【パラメタの意味】

DSO名:
応用プログラムで使用するDSO名を以下の形式で指定します。

データベース名.DSO名

P:
DSOの占有の単位をページとします。省略した場合は、占有の単位はDSIとなります。
占有モード:
占有のモードとして以下のいずれかを指定します。省略した場合は、EXが指定されたとみなします。

ISOLATION_WAIT

【指定形式】

ISOLATION_WAIT = ({WAIT | REJECT})

【実行パラメタの意味】

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

【パラメタの意味】

WAIT:
資源の占有が解除されるまで待ちます。
REJECT:
エラーとして応用プログラムに復帰します。

R_LOCK

【指定形式】

R_LOCK = ({YES | NO})

【実行パラメタの意味】

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

【パラメタの意味】

YES:
占有の単位を行とします。このパラメタを指定した場合、クライアント用およびサーバ用の動作環境ファイルにDSO_LOCKパラメタを指定することはできません。
NO:
占有の単位は、DSO_LOCKの指定に従います。このパラメタを指定し、かつDSO_LOCKが指定されていない場合は、Symfoware/RDBによって自動的に占有の単位が選択されます。詳細については、“排他制御”を参照してください。

image

動作環境ファイルのR_LOCKを省略して、SET TRANSACTIONを省略またはSET TRANSACTION文の独立性水準にREPEATABLE READを指定した場合は、ISOLATION LEVEL SERIALIZABLEとなります。

動作環境ファイルにR_LOCK=YESを指定して、SET TRANSACTION文を省略またはSET TRANSACTION文の独立性水準にSERIALIZABLEを指定した場合は、ISOLATION LEVEL REPEATABLE READとなります。

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

COREFILE_PATH(Windows使用時のみ指定可能)

【指定形式】

COREFILE_PATH = (絶対パス名)

【実行パラメタの意味】

応用プログラムで異常が発生した場合のダンプ出力先ディレクトを指定します。省略した場合は、カレントディレクトリに出力します。

DIV_TRACE_FILE

【指定形式】

DIV_TRACE_FILE = ({YES | NO})

【実行パラメタの意味】

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

【パラメタの意味】

YES:
出力ファイル名の後に以下の情報を付加して個別のトレース情報を取得します。

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

sqlsnap_test_288_20000616123456.lst

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

image

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

ROUTINE_SNAP

【指定形式】

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

【実行パラメタの意味】

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

ROUTINE_SNAP機能は、SQL手続き文の実行情報をファイルに出力す機能です。ROUTINE_SNAP機能の詳細および使用方法については、“応用プログラムのデバッグ”を参照してください。

【パラメタの意味】

ON:
ROUTINE_SNAP機能を利用する場合に指定します。
OFF:
ROUTINE_SNAP機能を利用しない場合に指定します。
ルーチンスナップファイ名:
SQL手続き文の実行情報の出力先のサーバ側のファイル名を、絶対パスで指定します。指定されたファイルがすでに存在する場合は、情報を追加して出力します。

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

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

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

SET_CALLBACK

【指定形式】

SET_CALLBACK = (ライブラリ名)

【実行パラメタの意味】

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

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

SQL_SNAP

【指定形式】

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

【実行パラメタの意味】

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

SQL_SNAP機能は、応用プログラムが実行したSQL文の情報をファイルに出力す機能です。SQL_SNAP機能の詳細および使用方法については、“応用プログラムのデバッグ”を参照してください。

【パラメタの意味】

ON:
SQL_SNAP機能を利用する場合に指定します。
OFF:
SQL_SNAP機能を利用しない場合に指定します。
スナップファイ名:
SQL_SNAP機能が出力するSQL文の実行情報の出力先ファイル名を指定します。ファイル名を省略した場合は、応用プログラムのファイル名の拡張子を“SNP”に変更したものとなります。ファイル名にディレクトリの指定がない場合は、カレントディレクトリが指定されたものとみなします。指定されたファイルがすでに存在する場合は、情報を追加して出力します。

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

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

出力レベル:
出力する情報のレベルとして、1または2を指定します。省略した場合は、2が指定されたとみなします。出力レベルの指定と出力情報の対応については、“表:出力レベルの指定と出力情報の対応”を参照してください。
繰り返し幅:
出力する情報の繰り返し幅として、1から32767を指定します。1つのSQL文の出力を1とします。繰り返し幅を指定した場合は、その幅でサイクリックに情報を出力します。省略した場合は、先頭からの情報をすべて出力します。

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

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

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

MSG_LANG(Windows使用時のみ指定可能)

【指定形式】

MSG_LANG = ({JAPANESE | ENGLISH})

【実行パラメタの意味】

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

【パラメタの意味】

JAPANESE:
日本語で表示します。
ENGLISH:
英語で表示します。

MSG_PRINT

【指定形式】

MSG_PRINT = ({ON | OFF})

【実行パラメタの意味】

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

【パラメタの意味】

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

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

RCV_MODE

【指定形式】

RCV_MODE = ({RCV | NRCV})

【実行パラメタの意味】

応用プログラムのリカバリ水を指定します。省略した場合はRCVが指定されたとみなします。

【パラメタの意味】

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

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

SQL_LEVEL

【指定形式】

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

【実行パラメタの意味】

応用プログラムの予約語のレベを設定します。省略した場合は、SQL2000が指定されたとみなします。

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

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

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

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

【パラメタの意味】

SQL88:
予約語のレベルをSQL88とします。
SQL92:
予約語のレベルをSQL92とします。
SQL95:
予約語のレベルをSQL95とします。
SQL96:
予約語のレベルをSQL96とします。
SQL2000:
予約語のレベルをSQL2000とします。

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

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

MAX_PARALLEL

【指定形式】

MAX_PARALLEL = (多重度)

【実行パラメタの意味】

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

PARALLEL_SCAN

【指定形式】

PARALLEL_SCAN = ({YES | NO})

【実行パラメタの意味】

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

【パラメタの意味】

YES:
データベースを並列に検索します。この場合、そのアプリケーションの単一行SELECTおよびOPENを並列検索で実行できます。ただし、以下のいずれかの条件を満たす場合、並列検索は実行されず従来のアクセス手順でデータベースをアクセスします。
NO:
データベースを並列に検索しません。

■その他の実行パラメタ

ALTER_CHECK

【指定形式】

ALTER_CHECK=({YES | NO})

【実行パラメタの意味】

表の設計変更により表の列を変更した場合に、応用プログラムに影響があるか否かをチェックします。省略した場合はNOが指定されたとみなします。

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

【パラメタの意味】

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

ARC_FULL

【指定形式】

ARC_FULL = ({RETURN | WAIT})

【実行パラメタの意味】

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

【パラメタの意味】

RETURN:
エラーとして応用プログラムに復帰します。
WAIT:
空きのアーカイブログファイルが作成されるまで待ちます。

image

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

また、本実行パラメタの指定が互いに異なる複数の応用プログラムが、同時に同じDSIを扱うような運用はしないでください。例えば、以下の事象が発生する場合があります。

トランザクションAは、ARC_FULL=RETURNを設定し、アーカイブログ満杯の状態であるとします。トランザクションBは、ARC_FULL=WAITを設定し、アーカイブログ満杯の状態で資源を占有しているとします。このとき、トランザクションBは、空きのアーカイブログファイルが作成されるまで待ちます。同じ資源にアクセスしているトランザクションAは、トランザクションBの終了を待つため、ARC_FULL=RETURNを設定しているにもかかわらず、無応答状態になります。

この場合は、rdblkinfコマンドの-lオプションやrdblogコマンドの-Vオプションかつ-aオプションで排他やアーカイブログの状況を確認できます。また、アーカイブログに関する以下のシステムメッセージが表示されます。これらの情報をもとに、バックアップ可能なアーカイブログファイルをバックアップするか、または新規にアーカイブログファイルを追加して対処してください。

qdg13336w:RDB:WARNING 転送可能なアーカイブログ域が不足しています.

qdg03132u:RDB:ERROR アーカイブログファイルが満杯です.

SIGNAL_INF

【指定形式】

SIGNAL_INF = ({YES | NO})

【実行パラメタの意味】

UNIX系システムにおいて、シグナを応用プログラムで利用するか否かを設定します。省略した場合は、YESが指定されたとみなします。

なお、本実行パラメタは、トランザクションモニタ配下の応用プログラムでは指定しないでください。

【パラメタの意味】

YES:
応用プログラムでシグナルを利用します。
NO:
応用プログラムでシグナルを利用しません。

目次 索引 前ページ次ページ

All Rights Reserved, Copyright (C) 富士通株式会社 2003