データベースサーバでの環境設定は、Connection Managerの機能を利用するために以下の作業を行う必要があります。
動作環境ファイルの編集
環境変数の設定
ポート番号の定義
システムログの環境設定
Symfoware/RDB上の動作環境ファイル(システム用の動作環境ファイルとサーバ用の動作環境ファイル)を編集します。システム用の動作環境ファイルのパラメタについては、以下を参照してください。
なお、WebAdminでセットアップした場合、“WebAdminでセットアップした場合の値の違い”の欄に“有”と記載があるパラメタは、本項で説明しているパラメタの省略値や扱いに違いがあります。
参照
システム用の動作環境ファイルのパラメタで以下に記載してあるもの以外のパラメタおよびサーバ用の動作環境ファイルのパラメタについては、“セットアップガイド”または“アプリケーション開発ガイド(共通編)”を参照してください。
WebAdminでセットアップした場合のパラメタの詳細については、“セットアップガイド”の“セットアップ時の省略値”を参照してください。
編集するシステム用の動作環境ファイルのパラメタを以下に示します。
パラメタ名 | 概要 | 記述数 | 記述の省略 | WebAdminでセットアップした場合の値の違い |
---|---|---|---|---|
アプリケーションサーバから接続可能なコネクションの最大数 | 単一 | 可 | 有 | |
KEEPALIVE機能を利用するか否か | 単一 | 可 | 無 |
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 = ({ON|OFF})
KEEPALIVE機能を利用するか否かを指定します。
KEEPALIVE機能とは、トランザクションの状態に関係なく、クライアントとサーバの通信状態を調べ、クライアント側の処理異常(電源切断など)に対処する機能です。2時間を超過してもクライアント側から応答がない場合は、該当クライアントのコネクションを強制回収します。
KEEPALIVE機能を使用します。
KEEPALIVE機能を使用しません。
Connection Managerを利用する場合は、OFFを指定します。
ただし、同一のRDBシステムがConnection Managerを経由するアプリケーションと経由しないアプリケーションの両方からの接続を受け付ける形態の場合は、当該RDBシステムの実行パラメタにはONを指定します。
省略した場合は、OFFが指定されたものとみなします。
APCコマンド、rdbprtmsgコマンドおよびmanコマンドを使用するために必要な環境変数を設定します。
Solarisの場合
環境変数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を設定します。
以下に定義例を示します。
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システム名を設定してください。
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システム名を設定してください。
注意
システムメッセージおよびコマンド応答メッセージは、環境変数の設定とは関係なく、常に英文で出力します。
Linuxの場合
環境変数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を設定します。
以下に定義例を示します。
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システム名を設定してください。
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システム名を設定してください。
注意
システムメッセージおよびコマンド応答メッセージは、環境変数の設定とは関係なく、常に英文で出力します。
Windowsの場合
環境変数RDBNAMEにRDBシステム名を設定します。ただし、RDBシステム名を付けない運用の場合は、本設定は不要です。
> SET RDBNAME=rdbsys1 (注)
注) ここでは、RDBシステム名として“rdbsys1”を設定しています。実際に設定するときは、対象となるRDBシステムのRDBシステム名を設定してください。
RDBシステム名ごとに、以下の2つのポート番号を定義する必要があります。
通信用ポート番号
ダウン監視用ポート番号
ポート番号はOSが管理するサービスファイルにサービスとして定義する必要があります。
以下の形式で2つ追加してください。
設定ファイル
/etc/services
C:\WINDOWS\system32\drivers\etc\services
形式
サービス名 ポート番号/プロトコル
通信用ポート番号を定義する場合
アプリケーションサーバとデータベースサーバ間の通信用のサービスが必要になります。
通信用のサービス名には、RDBシステム名を指定してください。
なお、RDBシステム名をつけない場合は、通信用のサービス名に“RDBII” を指定してください。
ダウン監視用ポート番号を定義する場合
アプリケーションサーバとデータベースサーバ間の相互ダウン監視用のサービスが必要になります。
相互ダウン監視用のサービス名には、RDBシステム名に“-spv”を付加した名前を指定してください。
なお、RDBシステム名をつけない場合は、相互ダウン監視用のサービス名には“RDBII-spv”を指定してください。
ポート番号は、1024~32767の範囲で、未使用の値を指定してください。
ポート番号は、以下の範囲で、未使用の値を指定してください。
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の“ダウン監視用ポート番号:”と同じ値を指定してください。
Solarisの場合
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の間は、必ずタブで区切ってください。空白を記述すると、エラーが発生します。
Linuxの場合
Connection Managerはシステムログのfacilityおよびpriorityとして、以下を使用しています。
facility : user
priority : err,warning,info
システムログに上記のfacilityのすべてのpriorityが出力されるように、システムログの/etc/syslog.conf ファイルを設定してください。
システムログに上記の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の間は、必ずタブで区切ってください。空白を記述すると、エラーが発生します。
Windowsの場合
特に設定する必要はありません。
クラスタシステムを使用していない場合かつデータベースサーバに接続するConnection Managerが以下の場合、OSのファイルディスクリプタ数の設定を実施してください。
クラスタシステムを使用してフェイルオーバ運用またはロードシェア運用を行っている場合は、自動でファイルディスクリプタ数を変更しているため、設定は必要ありません。
Solarisの場合
データベースサーバに接続するConnection Managerのシステム数が200以上の場合、以下のいずれかを実施してください。
以下の設定例を参考に、/etc/systemにファイルディスクリプタ数を指定してください。
設定後、サーバを再起動してください。
set rlim_fd_max = 4096 (注) set rlim_fd_cur = 4096 (注)
注)指定する値は、データベースサーバに接続するConnection Managerのシステム数+50以上の値を指定してください。
以下の設定例を参考に、/etc/projectにファイルディスクリプタ数を指定してください。
設定後、再ログインしてください。
process.max-file-descriptor=(basic,4096,deny) (注)
注) 指定する値は、データベースサーバに接続するConnection Managerのシステム数+50以上の値を指定してください。
参照
設定方法の詳細は、“セットアップガイド”の“カーネル編集”を参照してください。
なお、上記設定が反映されていることは、ulimitまたはlimitコマンドで確認してください。
Linuxの場合
データベースサーバに接続する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コマンドで確認してください。