レプリケーションの運用にあたっては、複写元システムと複写先システムで以下の手順によるセットアップが必要です。
Symfoware Serverのセットアップ
Linkexpressのセットアップ
Linkexpress Replication optionのセットアップ
レプリケーション運用におけるセットアップで考慮すべき点について説明します。
Linkexpress Replication optionのコマンドは、Symfoware Serverのデータベースに接続して処理を行うものがあります。そのため、Symfoware抽出レプリケーションのコマンドを多重実行する場合、Symfoware Serverのパラメタファイルに指定する、データベースサーバに同時接続する最大数(max_connectionsパラメタ)に、多重実行するコマンド数を追加する必要があります。
追加する値(基礎値)は、Symfoware抽出レプリケーションの1つのコマンドに対し、1です。
参照
データベースサーバに同時接続する最大数の詳細は、Symfoware Serverのマニュアルを参照してください。
ここでは、Linkexpressのセットアップの方法について説明します。
Linkexpressのセットアップは以下の手順で行います。
インストール
TCP/IPの環境定義
Linkexpressの環境定義
DB連携機能の環境定義
Linkexpressのインストールの方法については、“Linkexpressのソフトウェア説明書”を参照してください。
Linkexpressの環境定義は以下の手順で行います。
動作環境定義
ネットワーク定義
サーバグループ定義
Linkexpressの環境定義については、“付録A Linkexpressの環境定義例”も併せて参照してください。
動作環境定義は、Linkexpressの基礎的な動作規定に関する情報を定義します。動作環境定義の方法については、“Linkexpress 導入ガイド”を参照してください。
ネットワーク定義は、データ通信を行うための情報を定義します。
ネットワーク定義の方法については、“Linkexpress 導入ガイド”を参照してください。
サーバグループ定義は、サーバ間の運用情報のやり取りで使用されるセキュリティ情報を定義します。サーバグループ定義の方法については、“Linkexpress 導入ガイド”を参照してください。
LinkexpressのDB連携機能は、あるシステムのデータを他のシステム上のデータベースに展開(格納)する機能を提供します。Linkexpress Replication optionではLinkexpress のDB連携機能を使用してレプリケーション運用を行います。
DB連携機能の環境定義は以下の手順で行います。
環境変数の設定方法については、“Linkexpress 運用ガイド”を参照してください。
DB動作環境定義の作成方法については、“Linkexpress 運用ガイド”を参照してください。
DB動作環境定義については、以下の場所にサンプルを提供しています。セットアップ時の参考として使用してください。
Windowsの場合
格納先ディレクトリ
インストールディレクトリ(注)\SAMPLE\DBENV
注)Linkexpress Replication optionのインストールディレクトリです。
ファイル名
LX_STRDB.ENV(格納処理時のDB動作環境定義のサンプル)
LX_EXTDB.ENV(抽出処理時のDB動作環境定義のサンプル)
Solarisの場合
格納先ディレクトリ
/opt/FSUNlnkre/SAMPLE/DBENV
ファイル名
LX_STRDB.ENV(格納処理時のDB動作環境定義のサンプル)
LX_EXTDB.ENV(抽出処理時のDB動作環境定義のサンプル)
Linuxの場合
格納先ディレクトリ
/opt/FJSVlnkre/SAMPLE/DBENV
ファイル名
LX_STRDB.ENV(格納処理時のDB動作環境定義のサンプル)
LX_EXTDB.ENV(抽出処理時のDB動作環境定義のサンプル)
参考
Linkexpress Replication optionでは、抽出処理時にも内部的にDB連携機能が動作します。このため、サンプルは、格納処理時と抽出処理時の2種類を提供しています。
差分ログデータと複写先データベースのデータの不整合発生時のlxstrdbコマンドの動作を指定します。
EXIT(省略値):異常終了します。
CONTINUE:代替レコード操作を行い、処理を継続します。
複写元システムでレプリケーションサービスの強制停止、または、オペレーティングシステムのダウンが発生した場合、レプリケーションで重複した差分ログが抽出される場合があります。このため、本オペランドには“CONTINUE”を指定してください。また、初期複写業務を利用する場合には、必ず本オペランドに“CONTINUE”を指定してください。
なし。
lxstrdbコマンド
出力するメッセージの種類を指定します。
i: 情報、警告およびエラーメッセージを出力します(省略値)。
w: 警告およびエラーメッセージを出力します。
e: エラーメッセージだけ出力します。
なし。
lxextdbコマンド、lxcmtdbコマンド
ここでは、Linkexpress Replication optionのセットアップの方法について説明します。
セットアップの手順は、複写元システムと複写先システムで異なります。
セットアップの手順を以下に示します。
複写元システム | 複写先システム |
---|---|
1. インストール | 1. インストール |
2. 動作環境ファイルの作成 | - |
3. Windowsサービスの登録 | - |
Linkexpress Replication optionのインストールの方法については、 “インストールガイド”を参照してください。
Linkexpress Replication optionのSymfoware抽出レプリケーションを使用する場合には、複写元システムで以下の環境変数を設定してください。
Linuxの場合
環境変数名 | 指定内容 | 備考 |
---|---|---|
/opt/FJSVlnkre/bin |
| |
/opt/FJSVlnkre/lib |
| |
Symfoware Server Clientのインストール先/lib | Symfoware Serverのクライアントインタフェースを使用しているため、指定が必要です。(注) | |
LXREPCONFIG | 動作環境ファイルの絶対パス名 | 動作環境ファイルについては"1.1.2.3.3 動作環境ファイルの作成"で作成します。 |
LANG | ja_JP.UTF-8または |
|
注) Linkexpress Replication option が32bit製品の場合には、
Symfoware Server クライアントパッケージ (32bit製品) のインストール先を指定してください。
Linkexpress Replication option が64bit製品の場合には、
Symfoware Server クライアントパッケージ (64bit製品) のインストール先を指定してください。
また、業務定義内の各イベントで実行されるシェルスクリプトにも同じインストール先を指定してください。
Windowsの場合
環境変数名 | 指定内容 | 備考 | |
---|---|---|---|
Symfoware Server Clientのインストール先\lib | Symfoware Serverのクライアントインタフェースを使用しているため、指定が必要です。(注) | ||
動作環境ファイルの絶対パス名 | 動作環境ファイルについては“1.1.2.3.3 動作環境ファイルの作成”で作成します。 |
注) Linkexpress Replication option が32bit製品の場合には、
Symfoware Server クライアントパッケージ (32bit製品) のインストール先を指定してください。
Linkexpress Replication option が64bit製品の場合には、
Symfoware Server クライアントパッケージ (64bit製品) のインストール先を指定してください。
また、業務定義内の各イベントで実行されるバッチファイルにも同じインストール先を指定してください。
Solarisの場合
環境変数名 | 指定内容 | 備考 |
---|---|---|
/opt/FSUNlnkre/bin |
| |
/opt/FSUNlnkre/lib |
| |
Symfoware Server Clientのインストール先/lib | Symfoware Serverのクライアントインタフェースを使用しているため、指定が必要です。(注) | |
LXREPCONFIG | 動作環境ファイルの絶対パス名 | 動作環境ファイルについては"1.1.2.3.3 動作環境ファイルの作成"で作成します。 |
LANG | ja、 | jaは、Solaris9またはSolaris 10の場合のみ設定可能です。 |
注) Symfoware Server クライアントパッケージ (32bit製品) のインストール先を指定してください。
業務定義内の各イベントで実行されるシェルスクリプトにも同じインストール先を指定してください。
注意
Symfoware Serverを運用するために必要な環境変数については、Symfoware Serverのマニュアルを参照してください。
さらにLinkexpressを運用するための環境変数が必要です。Linkexpressの運用で必要な環境変数については、“Linkexpress 運用ガイド”を参照してください。
環境変数LANGには、Linkexpress Replication optionのインストール時のOSのデフォルトロケールを設定します。
Linkexpress Replication optionの動作環境ファイルには、Linkexpress Replication optionの動作条件や、Linkexpress Replication optionが管理するファイルの配置先などを指定します。
Linkexpress Replication optionをインストールすると、動作環境ファイルの雛形が作成されます。
Linuxの場合
格納先ディレクトリ:/opt/FJSVlnkre/SAMPLE/SYMFOPGS
ファイル名:lnkrep.cfg
インストール直後の動作環境ファイルの内容は以下のとおりです。
# Linkexpress Replication option configuration parameter file (for SYMFOPGS) PGPORT = 26500 COLLECTION_NAPTIME = 10 DEFMNGPATH = /home/rep/defmng CORE_PATH = /home/rep/core MAX_EXECUTE_COMMAND = 100 PROJECT_CODE = 0xde SYSTEM_ID = 1 OBJECT_NAME_PREFIX = linkexpress_replication_option # MSG_LABEL_PREFIX =
備考:「#」で始まる行はコメント行です。
Windowsの場合
格納先ディレクトリ:インストールディレクトリ(注)\SAMPLE\SYMFOPGS
ファイル名:lnkrep.cfg
注)Linkexpress Replication optionのインストールディレクトリです。
インストール直後の動作環境ファイルの内容は以下のとおりです。
# Linkexpress Replication option configuration parameter file (for SYMFOPGS) PGPORT = 26500 COLLECTION_NAPTIME = 10 DEFMNGPATH = c:\rep\defmng MAX_EXECUTE_COMMAND = 100 PROJECT_CODE = 0xde SYSTEM_ID = 1 OBJECT_NAME_PREFIX = linkexpress_replication_option # MSG_LABEL_PREFIX = # WINSERVICE_NAME_SUFFIX =
備考:「#」で始まる行はコメント行です。
Solarisの場合
格納先ディレクトリ:/opt/FSUNlnkre/SAMPLE/SYMFOPGS
ファイル名:lnkrep.cfg
インストール直後の動作環境ファイルの内容は以下のとおりです。
# Linkexpress Replication option configuration parameter file (for SYMFOPGS) PGPORT = 26500 COLLECTION_NAPTIME = 10 DEFMNGPATH = /home/rep/defmng CORE_PATH = /home/rep/core MAX_EXECUTE_COMMAND = 100 PROJECT_CODE = 0xde SYSTEM_ID = 1 OBJECT_NAME_PREFIX = linkexpress_replication_option # MSG_LABEL_PREFIX =
備考:「#」で始まる行はコメント行です。
動作環境ファイルは、上記の雛形を編集して作成します。なお、動作環境ファイルはレプリケーションサービスごとに作成してください。作成するときのファイル名は、任意です。
ここでは、動作環境ファイルに指定するオペランドについて説明します。
PGPORT (Symfoware Serverのポート番号)
PGPORT = Symfoware Serverのポート番号
レプリケーションの環境を構築するSymfoware Serverのポート番号を指定します。
Linkexpress Replication optionのコマンドおよびレプリケーションプロセスが本ポート番号を使用してSymfoware Serverに接続します。
指定値は0から65535までの符号なし整数が指定可能です。本オペランドは省略不可です。
本オペランドは、動作環境ファイルの雛形には26500が指定されていますので、Symfoware Serverのパラメタファイル(postgresql.conf)に設定されたportパラメタの値を指定してください。
WINSERVICE_NAME_SUFFIX(レプリケーションサービスを登録するWindowsサービス名の接尾文字)
WINSERVICE_NAME_SUFFIX = レプリケーションサービスを登録するWindowsサービス名の接尾文字
レプリケーションサービスを登録するWindowsサービス名の接尾文字を指定します。
英字から始まる128文字までの英数字を指定します。複数のレプリケーションサービスの環境を構築する場合には、省略できません。レプリケーションサービスごとに違う文字列を設定してください。レプリケーションサービスが1つの場合には省略可能です。
Windowsサービス名は以下のようになります。
Linkexpress Replication option Service x (注)
注) xにはWINSERVICE_NAME_SUFFIXに指定した値が設定されます。省略時のサービス名は”Linkexpress Replication option Service”となります。
本オペランドは、動作環境ファイルの雛形には記述されていません。サービス名に接尾文字を付ける場合、または複数のレプリケーションサービスの環境を構築する場合に指定してください。
COLLECTION_NAPTIME = 差分ログ収集間隔
トランザクションログテーブルから差分ログを収集する間隔を指定します。本オペランドに指定された間隔でトランザクションログテーブルから差分ログの収集を行い、差分ログファイルに出力します。この間隔を差分ログ収集スケジュールと呼びます。なお、差分ログ収集の開始、終了タイミングについては、“1.1.3.4 差分ログ収集について”を参照してください。
指定単位は秒です。指定値は10から3600(1時間)までの符号なし整数が指定可能です。本オペランドは省略不可です。
本オペランドは、動作環境ファイルの雛形には10が指定されていますので、実際に運用に合った差分ログ収集間隔に変更してください。
本指定値は、レプリケーション業務の業務スケジュールより小さい値を指定してください。
DEFMNGPATH (抽出定義管理ファイルの配置パス指定)
DEFMNGPATH = 抽出定義管理ファイルの格納ディレクトリパス名
抽出定義管理ファイルを管理するディレクトリパス名を指定します。
任意のパス名を160バイト以内の絶対パス名で指定します。ディレクトリパス名に空白を含むことはできません。本オペランドを省略することはできません。
Windowsの場合は、格納ディレクトリにはNTFSを指定してください。
SolarisまたはLinuxの場合は、格納ディレクトリにはUNIXファイルシステムを指定してください。
指定するパス名には、すでに存在するディレクトリパスを指定してください。
複数のレプリケーションサービスの環境を構築する場合は、環境ごとに異なる配置ディレクトリパス名を指定してください。
CORE_PATH = コアファイルの出力先ディレクトリパス名
レプリケーションプロセスが出力するコアファイルの出力先ディレクトリパス名を指定します。
任意のパス名を255バイト以内の絶対パス名で指定します。ディレクトリパス名に空白を含むことはできません。本オペランドを省略することはできません。
指定するパス名には、すでに存在するディレクトリパスを指定してください。
指定したディレクトリパスは、レプリケーションサービスの開始以降で使用されます。
複数のレプリケーションサービスの環境を構築する場合は、環境ごとに異なる配置ディレクトリパス名を指定してください。
MAX_EXECUTE_COMMAND (レプリケーションのコマンド多重度)
MAX_EXECUTE_COMMAND = レプリケーションのコマンド多重度
以下のレプリケーションコマンドの多重度を指定してください。
抽出定義コマンド
抽出定義の削除コマンド
差分ログの取得開始コマンド
差分ログの取得終了コマンド
差分ログの追出しコマンド
レプリケーションサービスの開始コマンド
レプリケーションサービスの停止コマンド
レプリケーションコマンドの多重度を指定します。多重度は1から1000までの符号なし整数が指定可能です。本パラメタの値を超える多重度でコマンドを実行するとコマンドが異常終了します。本オペランドを省略すると“100”が指定されたものとみなされます。
本オペランドは、動作環境ファイルの雛形には100が指定されていますので、実際に運用に合ったレプリケーションコマンドの多重度を変更する場合に指定してください。
PROJECT_CODE = レプリケーションが使用するIPCキーの最上位1バイトの値
レプリケーションが使用するIPCキーの最上位1バイトの値を16進表記で指定します。デフォルトは0xdeです。デフォルトの名前で運用上支障がない場合は、なるべくデフォルト値で運用してください。本オペランドは省略可能です。
本オペランドは、動作環境ファイルの雛形には0xdeが指定されていますので、IPC資源を使用する他のソフトウェア製品とキーが重複する場合には、一意になるように指定してください。
PROJECT_CODE(レプリケーションのコード名)
PROJECT_CODE = 名前付きオブジェクトを一意にする値
レプリケーションが使用する名前付きオブジェクトを一意にする値を指定します。
レプリケーションは、名前付きオブジェクトを使用します。パラメタPROJECT_CODEは“0x”で始まる0x00から0xffまでの16進数を指定し、名前付きオブジェクトの重複を避けるために使用します。
本オペランドの省略時には、プロジェクトコードとして0xdeが指定されたものとみなします。デフォルトの名前で運用上支障がない場合は、なるべくデフォルト値で運用してください。
SYSTEM_ID = レプリケーションに与えるシステムID
レプリケーションサービス単位に、一意なIDを指定してください。
レプリケーションに対して与えるシステムIDを1から31までの10進数で指定します。複数のレプリケーションサービスの環境を構築する場合には、省略できません。レプリケーションサービスごとに違う値を設定してください。レプリケーションサービスが1つの場合には省略可能です。省略した場合には1が指定されたものとみなされます。
本オペランドは、動作環境ファイルの雛形には1が指定されていますので、同一サーバに複数のレプリケーションサービスの環境を構築する場合には、他と重複しないように指定してください。
OBJECT_NAME_PREFIX (データベースオブジェクトとして作成する資源名の接頭文字)
OBJECT_NAME_PREFIX = データベースオブジェクトとして作成する資源名の接頭文字
Linkexpress Replication optionがSymfoware Serverのデータベースオブジェクトとして作成する資源名の接頭文字を指定します。
以下のデータベースオブジェクトの名前の接頭文字を36文字以内の英数字で指定します。
- レプリケーションオブジェクトスキーマのスキーマ名
- ログ取得トリガのトリガ名
指定値はSymfoware Serverの識別子の命名規則に従ってください。半角の英字の大文字と小文字は区別されます。小文字を指定するために“"”で括る必要はありません。
本オペランドを省略すると“linkexpress_replication_option”が指定されたものとみなされます。
本オペランドは、動作環境ファイルの雛形には“linkexpress_replication_option”が指定されていますので、同じSymfoware Serverのデータベースクラスタに複数のレプリケーションサービスの環境を構築する場合に指定してください。
MSG_LABEL_PREFIX (メッセージのラベルの接頭文字)
MSG_LABEL_PREFIX = メッセージのラベルの接頭文字
Linkexpress Replication optionが出力するメッセージのラベルの接頭文字を指定します。
以下が出力するメッセージのラベルの接頭文字を12文字以内の英数字で指定します。
- Linkexpress Replication optionのコマンド (注1)
- レプリケーションプロセス
本オペランドに指定した場合には、メッセージのラベルが“接頭文字/FJSVlnkexp”となります。
本オペランドを省略するとメッセージのラベルは“FJSVlnkexp”となります。
注1) lxextdbコマンド、lxcmtdbコマンドを除く
本オペランドは、動作環境ファイルの雛形には記述されていません。同じサーバに複数のレプリケーションサービスの環境を構築する場合に指定してください。
レプリケーション運用中に以下のファイルの更新は行わないでください。
Linkexpress Replication optionの動作環境ファイル
Windowsの場合、レプリケーションサービスのWindowsサービスを登録する必要があります。Windowsサービスの登録は、lxrepwinsrvコマンドより行います。Windowsサービス名は以下のようになります。
Linkexpress Replication option Service x (注)
注) xには動作環境ファイルのWINSERVICE_NAME_SUFFIXに指定した値が設定されます。WINSERVICE_NAME_SUFFIXの指定を省略した場合は“Linkexpress Replication option Service”となります。
lxrepwinsrvコマンド実行時にオプションでWindowsサービスの開始方法を指定します。Windowsシステム起動時にレプリケーションサービスを自動で開始する場合は「自動」を指定してください。手動で開始する場合、または、クラスタシステムで動作させる場合は、「手動」を設定してください。
コマンドを実行するとWindowsサービスを開始するためのユーザアカウント情報および、Symfoware Serverへの接続情報の入力が促されるため、表示に従って入力します。
以下の指定内容でWindowsサービスを登録する場合の例を示します。
Windowsシステム起動時にレプリケーションサービスを自動で開始
Windowsサービスを開始するユーザ名およびSymfoware Serverへの接続ユーザ名は“postgres”
>lxrepwinsrv -R Username and Password to start Windows Service Username (default: SYSTEM ) : postgres<Enter> Password : ****** <Enter> Re-enter Password : ****** <Enter> Username for connecting to Symfoware Server Username (default: postgres) : <Enter>
Windowsサービスの登録確認
Windowsサービスの登録確認は、以下の手順で行ないます。
[サービス]ウインドウを表示する
[スタート]メニューの[管理ツール]で、[サービス]をクリックします。
Windowsサービスを確認する
Windowsサービス名一覧の中から、対象のレプリケーションサービスが登録されているか確認します。
入力情報の確認
登録後は以下の手順でレプリケーションサービスを開始して、入力情報が正しいことを確認してください。
Symfoware Serverの起動
レプリケーションサービスの開始
“1.1.3 レプリケーションサービスの開始”を参照してください。
レプリケーションサービス開始の確認
レプリケーションサービスが開始したことの確認は、以下の手順で行ないます。
[サービス]ウインドウを表示する
[スタート]メニューの[管理ツール]で、[サービス]をクリックします。
Windowsサービスの状態を確認する
Windowsサービス名一覧の中の、対象のレプリケーションサービスの状態が “開始”になっていることを確認します。
注意
レプリケーションサービスを開始するためには事前にSymfoware Serverを起動しておく必要があります。このため、レプリケーションサービスを自動で開始する場合は、Symfoware Serverも自動で開始するよう設定してください。
また、レプリケーションサービスを自動で開始する場合は、Symfoware Serverの起動を待ち合わせるために、Windowsサービスの[回復]タブの[サービスが失敗した場合のコンピュータの応答]に次の内容が設定されます。
最初のエラー | サービスを再起動する |
次のエラー | サービスを再起動する |
その後のエラー | 何もしない |
エラーカウントのリセット | 1日後 |
サービスの再起動 | 2分後に行う |
レプリケーションサービスを手動で開始する場合は、上記の設定は行いません。
なお、上記の設定は変更することもできます。Symfoware Serverの起動にかかる時間に合わせて、サービスの再起動の時間を調整してください。
レプリケーションサービスの登録は、Administrator権限のあるユーザ(Administratorsグループに属するユーザ)が行ってください。
Windowsサービスを開始するユーザは、“Administrators”グループに属している必要があります。また、サービスとしてログオンする権利を割り当てる必要があります。
Windows Server2008、Windows Server 2008 R2またはWindows Server 2012において、Administrator権限が必要なコマンドは、“管理者: コマンドプロンプト”から実行する必要があります。[コマンドプロンプト]を右クリックして表示されるメニューから[管理者として実行]を選択し、“管理者: コマンドプロンプト”を起動してください。
lxrepwinsrvコマンドについては、“コマンドリファレンス”を参照してください。