ページの先頭行へ戻る
Symfoware Server V12.1.0 Connection Managerユーザーズガイド
FUJITSU Software

3.1.1 データベースサーバでの環境設定

データベースサーバでの環境設定は、Connection Managerの機能を利用するために以下の作業を行う必要があります。

3.1.1.1 動作環境ファイルの編集

Symfoware/RDB上の動作環境ファイル(システム用の動作環境ファイルとサーバ用の動作環境ファイル)を編集します。システム用の動作環境ファイルのパラメタについては、以下を参照してください。

なお、WebAdminでセットアップした場合、“WebAdminでセットアップした場合の値の違い”の欄に“有”と記載があるパラメタは、本項で説明しているパラメタの省略値や扱いに違いがあります。

参照

  • システム用の動作環境ファイルのパラメタで以下に記載してあるもの以外のパラメタおよびサーバ用の動作環境ファイルのパラメタについては、“セットアップガイド”または“アプリケーション開発ガイド(共通編)”を参照してください。

  • WebAdminでセットアップした場合のパラメタの詳細については、“セットアップガイド”の“セットアップ時の省略値”を参照してください。

編集するシステム用の動作環境ファイルのパラメタを以下に示します。

パラメタ名

概要

記述数

記述の省略

WebAdminでセットアップした場合の値の違い

MAX_CONNECT_TCP

アプリケーションサーバから接続可能なコネクションの最大数

単一

RDB_KEEPALIVE

KEEPALIVE機能を利用するか否か

単一

MAX_CONNECT_TCP

【指定形式】

MAX_CONNECT_TCP = (接続数)

【実行パラメタの意味】

1つのRDBシステムに対し、アプリケーションサーバから接続できるコネクションの最大数を指定します。

【パラメタの意味】
接続数:

アプリケーションサーバから接続できるコネクションの最大数を1~32767の範囲で指定します。

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

接続数に指定する値の概算の見積り方法を以下に示します。

概算の見積り方法
接続数 = 接続するConnection Managerのシステム数(アプリケーションサーバ数)
 + アプリケーションからConnection Managerと連携して接続するコネクションの最大数(すべてのアプリケーションサーバのコネクション最大数の合計) 
 +  リモートアクセスするコネクションの最大数(すべてのアプリケーションサーバのコネクション最大数の合計)

接続数の指定例を以下に示します。なお、例はアプリケーションサーバを3台設置する場合を表しています。

注意

  • MAX_CONNECT_TCP実行パラメタに“概算の見積り方法”に示した値よりも小さい値を指定すると、アプリケーションを実行することができなくなります。このため、MAX_CONNECT_TCP実行パラメタには必ず“概算の見積り方法”に示した接続数以上の値を指定してください。

  • Symfoware .NET Data Providerのトランザクションスコープ機能を利用する場合、MAX_CONNECT_TCP実行パラメタには、以下に示す値よりも大きい値を指定してください。

    概算の見積り方法”に示す接続数 + トランザクションスコープ内のスレッド数 * スレッド数内に使用されたコネクション数)  *  2
  • Symfoware .NET Data ProviderのSymfowareDataReader.GetSchemaTableメソッドを利用する場合、MAX_CONNECT_TCP実行パラメタには、以下に示す値よりも大きい値を指定してください。

    概算の見積り方法”に示す接続数  + GetSchemaTableメソッドを呼び出す回数

RDB_KEEPALIVE

【指定形式】

RDB_KEEPALIVE = ({ON|OFF})

【実行パラメタの意味】

KEEPALIVE機能を利用するか否かを指定します。

KEEPALIVE機能とは、トランザクションの状態に関係なく、クライアントとサーバの通信状態を調べ、クライアント側の処理異常(電源切断など)に対処する機能です。2時間を超過してもクライアント側から応答がない場合は、該当クライアントのコネクションを強制回収します。

【パラメタの意味】
ON:

KEEPALIVE機能を使用します。

OFF:

KEEPALIVE機能を使用しません。


Connection Managerを利用する場合は、OFFを指定します。

ただし、同一のRDBシステムがConnection Managerを経由するアプリケーションと経由しないアプリケーションの両方からの接続を受け付ける形態の場合は、当該RDBシステムの実行パラメタにはONを指定します。

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

3.1.1.2 環境変数の設定

APCコマンド、rdbprtmsgコマンドおよびmanコマンドを使用するために必要な環境変数を設定します。

SolarisSolarisの場合

  • 環境変数LANGに、以下のSymfoware/RDBのロケールを設定します。

    • ja(Solaris 10の場合のみ設定可能)

    • ja_JP.eucJP

    • ja_JP.PCK

    • ja_JP.UTF-8

    • C

    異なるロケールをLANGに指定した場合、コマンドはエラーになります。なお、Connection Managerやコマンドが出力するqdgメッセージを英語で出力するには、環境変数LANGにCを指定してください。

  • ロケールを指定する環境変数には、LANGのほかに、LC_ALL、LC_MESSAGES があります。これらの環境変数が複数設定されている場合、LC_ALL > LC_MESSAGES > LANGの順で有効となります。

  • 環境変数PATHに/opt/FJSVapccm/binを設定します。

  • 環境変数LD_LIBRARY_PATHまたはLD_LIBRARY_PATH_64に/opt/FJSVapccm/libを設定します。
    LD_LIBRARY_PATHおよびLD_LIBRARY_PATH_64の両方の環境変数を設定し、64ビットのアプリケーションを実行する場合、LD_LIBRARY_PATHに設定した値は有効になりません。

  • 環境変数RDBNAMEにRDBシステム名を設定します。ただし、RDBシステム名を付けない運用の場合は、本設定は不要です。

  • 環境変数MANPATHに/opt/FJSVapccm/manを設定します。


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

例1

Cシェルの場合

% setenv LANG ja_JP.eucJP (注1)
% setenv PATH /opt/FJSVapccm/bin:$PATH
% setenv LD_LIBRARY_PATH /opt/FJSVapccm/lib:$LD_LIBRARY_PATH
% setenv RDBNAME rdbsys1 (注2)
% setenv MANPATH /opt/FJSVapccm/man:$MANPATH

注1) ここでは、アプリケーションのロケールとして“ja_JP.eucJP”を設定しています。実際に設定するときは、対象となる環境に合わせて設定してください。

注2) ここでは、RDBシステム名として“rdbsys1”を設定しています。実際に設定するときは、対象となるRDBシステムのRDBシステム名を設定してください。

例2

bash、BシェルおよびKシェルの場合

$ LANG=ja_JP.eucJP ; export LANG (注1)
$ PATH=/opt/FJSVapccm/bin:$PATH ; export PATH 
$ LD_LIBRARY_PATH=/opt/FJSVapccm/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH
$ RDBNAME=rdbsys1 ; export RDBNAME (注2)
$ MANPATH=/opt/FJSVapccm/man:$MANPATH ; export MANPATH

注1) ここでは、アプリケーションのロケールとして“ja_JP.eucJP”を設定しています。実際に設定するときは、対象となる環境に合わせて設定してください。

注2) ここでは、RDBシステム名として“rdbsys1”を設定しています。実際に設定するときは、対象となるRDBシステムのRDBシステム名を設定してください。

注意

システムメッセージおよびコマンド応答メッセージは、環境変数の設定とは関係なく、常に英文で出力します。

LinuxLinuxの場合

  • 環境変数LANGに、以下のSymfoware/RDBのロケールを設定します。

    • ja_JP.UTF-8

    • C

    異なるロケールをLANGに指定した場合、コマンドはエラーになります。なお、Connection Managerやコマンドが出力するqdgメッセージを英語で出力するには、環境変数LANGにCを指定してください。

  • Cロケールを使用する場合は、環境変数LESSCHARSETに“utf-8”を設定します。

  • ロケールを指定する環境変数には、LANGのほかに、LC_ALL、LC_MESSAGES があります。これらの環境変数が複数設定されている場合、LC_ALL > LC_MESSAGES > LANGの順で有効となります。

  • 環境変数PATHに/opt/FJSVapccm/binを設定します。

  • 環境変数LD_LIBRARY_PATHに/opt/FJSVapccm/libを設定します。

  • 環境変数RDBNAMEにRDBシステム名を設定します。ただし、RDBシステム名を付けない運用の場合は、本設定は不要です。

  • 環境変数MANPATHに/opt/FJSVapccm/manを設定します。


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

例1

TCシェルの場合

% setenv LANG ja_JP.UTF-8 (注1)
% setenv PATH /opt/FJSVapccm/bin:$PATH
% setenv LD_LIBRARY_PATH /opt/FJSVapccm/lib:$LD_LIBRARY_PATH
% setenv RDBNAME rdbsys1 (注2)
% setenv MANPATH /opt/FJSVapccm/man:$MANPATH

注1) ここでは、アプリケーションのロケールとして“ja_JP.UTF-8”を設定しています。実際に設定するときは、対象となる環境に合わせて設定してください。

注2) ここでは、RDBシステム名として“rdbsys1”を設定しています。実際に設定するときは、対象となるRDBシステムのRDBシステム名を設定してください。

例2

bashの場合

$ LANG= ja_JP.UTF-8 ; export LANG (注1)
$ PATH=/opt/FJSVapccm/bin:$PATH ; export PATH
$ LD_LIBRARY_PATH=/opt/FJSVapccm/lib:$LD_LIBRARY_PATH ; export LD_LIBRARY_PATH
$ RDBNAME=rdbsys1 ; export RDBNAME (注2)
$ MANPATH=/opt/FJSVapccm/man:$MANPATH ; export MANPATH

注1) ここでは、アプリケーションのロケールとして“ja_JP.UTF-8”を設定しています。実際に設定するときは、対象となる環境に合わせて設定してください。

注2) ここでは、RDBシステム名として“rdbsys1”を設定しています。実際に設定するときは、対象となるRDBシステムのRDBシステム名を設定してください。

注意

システムメッセージおよびコマンド応答メッセージは、環境変数の設定とは関係なく、常に英文で出力します。

WindowsWindowsの場合

環境変数RDBNAMEにRDBシステム名を設定します。ただし、RDBシステム名を付けない運用の場合は、本設定は不要です。

> SET RDBNAME=rdbsys1  (注)

注) ここでは、RDBシステム名として“rdbsys1”を設定しています。実際に設定するときは、対象となるRDBシステムのRDBシステム名を設定してください。


3.1.1.3 ポート番号の定義

RDBシステム名ごとに、以下の2つのポート番号を定義する必要があります。

ポート番号はOSが管理するサービスファイルにサービスとして定義する必要があります。

以下の形式で2つ追加してください。

設定ファイル

SolarisLinuxSolaris/Linuxの場合
/etc/services
WindowsWindows(R)の場合
C:\WINDOWS\system32\drivers\etc\services

形式

サービス名  ポート番号/プロトコル

サービス名

ポート番号

SolarisLinuxSolaris/Linuxの場合

ポート番号は、1024~32767の範囲で、未使用の値を指定してください。

WindowsWindowsの場合

ポート番号は、以下の範囲で、未使用の値を指定してください。

Windows Server(R) 2003の場合:5001~49151

Windows Vista(R)、Windows(R) 7、Windows(R) 8、Windows(R) 8.1、Windows Server(R) 2008、Windows Server(R) 2008 R2、Windows Server(R) 2012またはWindows Server(R) 2012 R2の場合:1024~49151

プロトコル

プロトコルは、tcpを指定します。

定義例

ポート番号を定義する例を、以下に示します。

rdbsys1      26551/tcp
rdbsys1-spv  26700/tcp

注意

  • リモートアクセスからConnection Managerに移行する場合、通信用のサービスはリモートアクセスで利用していたサービスをそのまま利用します。相互ダウン監視用のサービスを追加定義してください。

  • “通信用ポート番号”には、APC動作環境ファイルの定義種別RDBSYSTEMの“通信用ポート番号:”と同じ値を指定してください。

  • “ダウン監視用ポート番号”には、APC動作環境ファイルの定義種別RDBSYSTEMの“ダウン監視用ポート番号:”と同じ値を指定してください。

3.1.1.4 システムログの環境設定

SolarisSolarisの場合

Connection Managerはシステムログのfacilityおよびlevelとして、以下を使用しています。

facility : user

level : err,warning,info

システムログに上記のfacilityのすべてのlevelが出力されるように、システムログの/etc/syslog.conf ファイルを設定してください。

設定後、デーモンまたはシステムを再起動してください。

システムログの/etc/syslog.conf ファイルの設定例を以下に示します。

user.info	/var/adm/messages

Connection Managerがシステムログに出力するシステムメッセージの形式については、“4.1.4 メッセージ監視”を参照してください。

注意

user.infoと/var/adm/messagesの間は、必ずタブで区切ってください。空白を記述すると、エラーが発生します。

LinuxLinuxの場合

Connection Managerはシステムログのfacilityおよびpriorityとして、以下を使用しています。

facility : user

priority : err,warning,info

RHEL5の場合

システムログに上記のfacilityのすべてのpriorityが出力されるように、システムログの/etc/syslog.conf ファイルを設定してください。

RHEL6の場合

システムログに上記のfacilityのすべてのpriorityが出力されるように、システムログの/etc/rsyslog.conf ファイルを設定してください。

設定後、デーモンまたはシステムを再起動してください。

システムログの/etc/syslog.conf ファイルまたは/etc/rsyslog.conf ファイルの設定例を以下に示します。

user.info	/var/log/messages

Connection Managerがシステムログに出力するシステムメッセージの形式については、“4.1.4 メッセージ監視”を参照してください。

注意

user.infoと/var/log/messagesの間は、必ずタブで区切ってください。空白を記述すると、エラーが発生します。

WindowsWindowsの場合

特に設定する必要はありません。

3.1.1.5 ファイルディスクリプタ数の設定

クラスタシステムを使用していない場合かつデータベースサーバに接続するConnection Managerが以下の場合、OSのファイルディスクリプタ数の設定を実施してください。

クラスタシステムを使用してフェイルオーバ運用またはロードシェア運用を行っている場合は、自動でファイルディスクリプタ数を変更しているため、設定は必要ありません。

SolarisSolarisの場合

データベースサーバに接続するConnection Managerのシステム数が200以上の場合、以下のいずれかを実施してください。

/etc/systemを使用する場合

以下の設定例を参考に、/etc/systemにファイルディスクリプタ数を指定してください。

設定後、サーバを再起動してください。

set rlim_fd_max = 4096 (注)
set rlim_fd_cur = 4096 (注)

注)指定する値は、データベースサーバに接続するConnection Managerのシステム数+50以上の値を指定してください。

/etc/projectを使用する場合

以下の設定例を参考に、/etc/projectにファイルディスクリプタ数を指定してください。

設定後、再ログインしてください。

process.max-file-descriptor=(basic,4096,deny) (注)

注) 指定する値は、データベースサーバに接続するConnection Managerのシステム数+50以上の値を指定してください。

参照

設定方法の詳細は、“セットアップガイド”の“カーネル編集”を参照してください。

なお、上記設定が反映されていることは、ulimitまたはlimitコマンドで確認してください。

LinuxLinuxの場合

データベースサーバに接続するConnection Managerのシステム数が1000以上の場合、以下を実施してください。

以下の設定例を参考に、/etc/sysctl.confにファイルディスクリプタ数を指定してください。

fs.file-max = 1048576 (注1)

以下の設定例を参考に、/etc/security/limits.confにファイルディスクリプタ数を指定してください。

設定後、サーバを再起動してください。

* - nofile 4096(注2)

注1) システム全体のファイルディスクリプタの上限値になります。/proc/sys/fs/file-maxの値を確認し、千単位の指定の場合は、万単位の値に変更することを推奨します。

注2) 1プロセスあたりのファイルディスクリプタの上限値になります。データベースサーバに接続するConnection Managerのシステム数+50以上の値を指定してください。

参照

設定方法の詳細は、“セットアップガイド”の“カーネル編集”を参照してください。

なお、上記設定が反映されていることは、ulimitまたはlimitコマンドで確認してください。