Symfoware/RDBのリモートデータベースを使用する場合の、システム構成、TROの設定、およびデータベースの設定について説明します。
Symfoware/RDBの設定などについては、Symfowareのマニュアルを参照してください。
各接続の種類についての構成について説明します。
RDB2_TCPを使用した構成について説明します。
グローバルサーバからJournalTransferを通じてデータを受信してTRMのメッセージキューに格納します。
DBサーバ側では、servicesファイルに指定したポートを通じてクライアント側からの要求を受け付けます。
DBクライアント側では、Symfowareのクライアント用の動作環境ファイルにおいて、SQLサーバ名を定義します。TROでは、SQLサーバ名に関連付けられたデータベース名を指定することにより、対象のデータベースに接続し、データを格納します。
SQLサーバ名とは、接続先を特定するための情報を任意の名前として定義したものです。このSQLサーバ名をDB接続時に使用します。
各種名前および値の例を以下に示します。
対象 | 名前または値 |
---|---|
RDBシステム名 | RDBLINK |
RDBシステムが使用するポート | 26551/tcp |
データベース名 | DB1 |
SQLサーバ名 | SQLSV1 |
ホスト名 | host1 |
Connection Managerを使用した構成について説明します。
グローバルサーバからJournalTransferを通じてデータを受信してTRMのメッセージキューに格納します。
DBサーバ側では、RDBシステムおよび監視用のポートを、システムのservicesファイルに指定します。クライアント側からの要求は、Connection Managerの監視プロセスを通じて受け付けます。
DBクライアント側では、Symfowareのクライアント用の動作環境ファイルおよびConnection ManagerのAPC動作環境定義ファイルにより接続先を指定します。TROでは、SQLサーバ名に関連付けられたデータベース名を指定します。
APCプロセスを起動することにより、SymfowareクライアントからAPCプロセスを通じてDBサーバに接続し、データを格納します。
各種名前および値の例を以下に示します。
対象 | 名前または値 |
---|---|
RDBシステム名 | RDBLINK |
RDBシステムが使用するポート | 26551/tcp |
Connection Managerの監視プロセスが使用するポート | 26700/tcp |
データベース名 | DB1 |
SQLサーバ名 | SQLSV1 |
ホスト名 | host1 |
DBサーバ側のデータベースの設定を行います。RDBシステムを構築し、servicesファイル、システム用の動作環境定義ファイル、環境変数などを設定します。詳細については、Symfowareのマニュアルを参照してください。
システムのservicesファイルに必要なポートを設定します。
システム用の動作環境定義ファイルにMAX_CONNECT_TCPを指定します。
例を以下に示します。
MAX_CONNECT_TCP = (5) |
DBクライアント側のデータベースの設定を行います。設定内容は接続の種類により異なります。詳細については、Symfowareのマニュアルを参照してください。
なお、リモート接続では、環境変数RDBNAMEは不要です。
Symfowareのコマンドなど(例:rdbexecsqlコマンド)により、目的のデータベースに接続できることを確認してください。
詳細については、Symfowareのマニュアルを参照してください。
DBクライアント側でTROに必要な環境変数を設定します。詳細については、"4.3.1 環境変数の設定"を参照してください。
なお、リモート接続では、環境変数RDBNAMEは不要です。
DBクライアント側でDB動作環境定義キーワードを指定します。
リモート接続に関するDB動作環境定義キーワードは以下のとおりです。
キーワード | 概要 |
---|---|
接続方式を指定します。 | |
リモート接続の種類を指定します。 | |
切断された場合の、再接続のリトライを行う回数を指定します。 | |
再接続のリトライを行う間隔を指定します。 |
例を以下に示します。
CONNECT_TYPE:REMOTE |
また、他のDB動作環境定義キーワードも必要に応じて指定してください。
なお、リモート接続では、SYMFO_SYSTEM_NAMEキーワードの指定は不要です。
また、RETRY_COUNTキーワードおよびRETRY_INTERVALキーワードの指定値は無効となります。
詳細については、"4.3.2 DB動作環境定義の作成"を参照してください。
DBクライアント側でDBサービス定義を作成します。
DBサービス定義については、ローカル接続と同じです。詳細については、"第8章 DBサービス定義"を参照してください。
STOREGROUP定義文のDATABASEオペランドには、DBクライアントの設定においてSQLサーバ名と関連付けたデータベース名を指定します。
指定例を以下に示します。
DATABASE = DB1 |
STOREGROUP定義文のOUTCODEオペランドは、データベース側のコード系に合わせてください。
詳細は、Symfowareのマニュアルを参照してください。
DBクライアント側で逐次差分反映を開始します。
逐次差分反映の開始は、lxrtmdbコマンドにより行います。詳細については、"7.3.4 lxrtmdbコマンド"を参照してください。
リモート接続では、Symfowareのクライアント用の動作環境ファイルに指定されたユーザ(認可識別子)でデータベースに接続します。したがって、-uオプションの指定は不要です。
例を以下に示します。
lxrtmdb -s DBSVC1 -r STRGRP1 -o |
リモート接続における注意事項を説明します。
DBサーバ側でファイアウォールを運用している場合、DBサーバとDBクライアントの通信に使用するポートを許可するよう、DBサーバ側に設定します。
DBサーバ側のservicesファイルに定義している以下のポートを許可してください。
通信手段 | ポート |
---|---|
RDB2_TCP | RDBシステム名で示すポート |
Connection Manager | 以下で示すポートすべて - RDBシステム名 - RDBシステム名-spv |
逐次差分反映の動作中に、DBクライアント側でConnection Managerを停止(apcstop -eなど)しないでください。