複写元サーバでは、データベースの更新によって取得された差分ログを、差分ログファイルに一定間隔で収集するレプリケーションサービスを開始します。
ここでは、複写元サーバでのレプリケーションサービスの開始について、以下の3つの方法について説明します。
Linkexpress Replication optionのコマンドで行う場合
自動起動停止スクリプトで行う場合
Windowsサービスで行う場合
なお、レプリケーションサービスの開始・停止により、差分ログ収集が開始・終了されます。差分ログ収集については、“1.1.3.4 差分ログ収集について”を参照してください。
注意
レプリケーションサービスの開始および停止は、Administrator権限のあるユーザ(Administratorsグループに属するユーザ)が行ってください。
Windows Server 2008、Windows Server 2008 R2、Windows Server 2012またはWindows Server 2016において、Administrator権限が必要なコマンドは、“管理者: コマンドプロンプト”から実行する必要があります。[コマンドプロンプト]を右クリックして表示されるメニューから[管理者として実行]を選択し、“管理者: コマンドプロンプト”を起動してください。
レプリケーションサービスを開始するためには事前にSymfoware ServerまたはEnterprise Postgresを起動しておく必要があります。Symfoware ServerまたはEnterprise Postgresが未起動の状態でレプリケーションサービスを開始すると、エラーになります。
Linkexpress Replication optionのコマンドで行う場合には、lxrepstrコマンドを使用します。lxrepstrコマンドの詳細については、“コマンドリファレンス”の“lxrepstrコマンド”を参照してください。
サーバの起動時や停止時にレプリケーションサービスの開始と停止を自動的に行う場合には、自動起動停止スクリプトを利用することで可能です。
セットアップ手順を以下に示します。
サービス名の命名
同一サーバ内の他のレプリケーションサービスと重複しない名前を命名します。
スクリプトを複写して権限を変更
Linkexpress Replication optionのインストール先に格納されているスクリプトを、手順1.で命名したサービス名で複写します。
以下、手順例です。
# cp /opt/FJSVlnkre/SAMPLE/SYMFOPGS/rc_lnkrep /etc/rc.d/init.d/サービス名 # chmod 755 /etc/rc.d/init.d/サービス名
スクリプトを編集
手順2.で複写したスクリプト内の変数を編集します。
変数名 | 編集内容 |
---|---|
LXREPCONFIG | レプリケーションの動作環境ファイルのパス名を指定します。 |
REPUSER | レプリケーションサービスを開始するOSのユーザ名を指定します。編集しない場合にはrootとなります。 |
LD_LIBRARY_PATH | /opt/Symfoware_Server_Client_installdir/libをSymfoware Server ClientまたはEnterprise Postgres Clientのインストール先/libに変更します。 |
シンボリックリンクの作成
自動起動させるために、以下のディレクトリに対してシンボリックリンクを作成します。
- /etc/rc.d/rc2.d
- /etc/rc.d/rc3.d
- /etc/rc.d/rc4.d
- /etc/rc.d/rc5.d
以下、手順例です。
# ln -s /etc/rc.d/init.d/サービス名 /etc/rc.d/rc2.d/S99サービス名
また、自動停止させるために、以下のディレクトリに対してもシンボリックリンクを作成します。
- /etc/rc.d/rc0.d
- /etc/rc.d/rc1.d
- /etc/rc.d/rc6.d
以下、手順例です。
# ln -s /etc/rc.d/init.d/サービス名 /etc/rc.d/rc0.d/K00サービス名
レプリケーションサービス名の決定
他のレプリケーションサービスと重複しない名前を決定します。
Unitファイルの作成
Linkexpress Replication optionのインストール先に格納されているUnitファイルのサンプルを複写し、対象とするレプリケーションサービスに合わせて修正します。
以下、手順例です。
レプリケーションサービスのサービス名が“repsvc1”の場合
# cp /opt/FJSVlnkre/SAMPLE/SYMFOPGS/lnkrep.service.sample /usr/lib/systemd/system/lnkrep_repsvc1.service
Unitファイルは以下のパラメタを修正します。
セクション | パラメタ | 指定値 | 説明 |
---|---|---|---|
Unit | Description | Linkexpress Replication option service <レプリケーションサービス名> | 機能概要を記述します。 該当するレプリケーションサービスを識別できる名称を記述します。 |
Requires | 接続先のSymfoware ServerまたはEnterprise PostgresのUnitファイル名(注1) 例: | レプリケーションサービス起動時の前提となる、接続先データベース・インスタンスのUnitファイル名を指定します。 | |
After | network.target network-online.target 接続先のSymfoware ServerまたはEnterprise PostgresのUnitファイル名(注1)(注2) 例: | レプリケーションサービス起動時の前提となる、接続先データベース・インスタンスのUnitファイル名を指定します。 | |
Service | User | ユーザ名 | レプリケーションサービスを開始するOSのユーザ名を指定します。 |
Group | グループ | レプリケーションサービスを開始するOSのユーザ名の所属するグループを指定します。 | |
Environment | 環境変数名=設定値 | レプリケーションサービスを開始する際に必要な環境変数を指定します。 |
注1) Symfoware ServerまたはEnterprise Postgresの自動起動の設定においてsystemctlコマンドに指定したUnitファイル名を指定します。
注2) DBミラーリングシステム連携の場合は、Symfoware ServerまたはEnterprise Postgresの自動起動と連動してレプリケーションサービスを起動することはできません。
Linkexpress Replication optionのUnitファイルにおいて、UnitセクションのAfterパラメタにSymfoware ServerまたはEnterprise PostgresのUnitファイル名を記述しないでください。
ServiceセクションのEnvironmentに指定するパラメタは以下の通りです。
パラメタ | 指定値 | 説明 |
---|---|---|
SFW_INST_PATH | Symfoware Server ClientまたはEnterprise Postgres Clientのインストール先パス名 例: | Symfoware Server ClientまたはEnterprise Postgres Clientのインストール先を絶対パスで指定します。 |
LXREPCONFIG | 動作環境ファイルの絶対パス名 例: | 動作環境ファイルの配置先を絶対パスで指定します。 |
LANG | ja_JP.UTF-8または C 例: | Linkexpress Replication optionのインストール時のOSのデフォルトロケールを設定します。 |
DBUSER | Symfoware ServerまたはEnterprise Postgresに接続するユーザ名 例: | レプリケーションプロセスがSymfoware ServerまたはEnterprise Postgresに接続するユーザの名前を指定します。 省略した場合は、Unitファイルに指定したUserパラメタが指定値になります。 |
自動起動・停止の有効化
OSのスーパーユーザーで、systemctlコマンドを使って自動起動・停止を有効にします。
以下、手順例です。
レプリケーションサービスのサービス名が“repsvc1”の場合
# systemctl enable lnkrep_repsvc1.service
アンセットアップ手順を以下に示します。
レプリケーションサービスの停止
“1.2.2.3 レプリケーションサービスの開始と停止”を参照してください。
シンボリックリンクの削除
シンボリックリンクを以下のディレクトリから削除して、自動停止を解除します。
- /etc/rc.d/rc0.d
- /etc/rc.d/rc1.d
- /etc/rc.d/rc6.d
以下、手順例です。
# rm /etc/rc.d/rc0.d/K00サービス名
また、シンボリックリンクを以下のディレクトリから削除して、自動起動を解除します。
- /etc/rc.d/rc2.d
- /etc/rc.d/rc3.d
- /etc/rc.d/rc4.d
- /etc/rc.d/rc5.d
以下、手順例です。
# rm /etc/rc.d/rc2.d/S99サービス名
スクリプトの削除
複写したスクリプトを削除します。
以下、手順例です。
# rm /etc/rc.d/init.d/サービス名
レプリケーションサービスの停止
“1.2.2.3 レプリケーションサービスの開始と停止”を参照してください。
自動起動停止の無効化
OSのスーパーユーザーで、systemctlコマンドを使って自動起動停止を無効にします。
以下、手順例です。
レプリケーションサービスのサービス名が“repsvc1”の場合
# systemctl disable lnkrep_repsvc1.service
Unitファイルの削除
複写したUnitファイルを以下のディレクトリから削除します。
以下、手順例です。
レプリケーションサービスのサービス名が“repsvc1”の場合
# rm /usr/lib/systemd/system/lnkrep_repsvc1.service
注意
自動起動は以下の順番になるようにシンボリックリンクの名前を決定してください。起動順序についてはシステム・ベンダのドキュメントを参照してください。
1. Symfoware ServerまたはEnterprise Postgresのインスタンスの起動
2. Linkexpressの起動
3. レプリケーションサービスの開始
自動停止は以下の順番になるようにシンボリックリンクの名前を決定してください。停止順序についてはシステム・ベンダのドキュメントを参照してください。
1. レプリケーションサービスの停止
2. Linkexpressの停止
3. Symfoware ServerまたはEnterprise Postgresのインスタンスの停止
クラスタシステムで動作させる場合は、クラスタシステムにより起動停止が制御されるため、本機能を利用する必要はありません。
Solarisの場合に自動起動停止スクリプトで行う場合の手順を説明します。
セットアップ方法
セットアップ手順を以下に示します。
サービス名の命名
同一サーバ内の他のレプリケーションサービスと重複しない名前を命名します。
スクリプトを複写して権限を変更
Linkexpress Replication optionのインストール先に格納されているスクリプトを、手順1.で命名したサービス名で複写します。
以下、手順例です。
$ cp /opt/FSUNlnkre/SAMPLE/SYMFOPGS/rc_lnkrep /etc/init.d/サービス名 $ chmod 755 /etc/init.d/サービス名
スクリプトを編集
手順2.で複写したスクリプト内の変数を編集します。
変数名 | 編集内容 |
---|---|
LXREPCONFIG | レプリケーションの動作環境ファイルのパス名を指定します。 |
REPUSER | レプリケーションサービスを開始するOSのユーザ名を指定します。編集しない場合にはrootとなります。 |
LD_LIBRARY_PATH | /opt/Symfoware_Server_Client_installdir/libをSymfoware Server ClientまたはEnterprise Postgres Clientのインストール先/libに変更します。 |
シンボリックリンクの作成
自動起動させるために、以下のディレクトリに対してシンボリックリンクを作成します。
- /etc/rc2.d
以下、手順例です。
$ ln -s /etc/init.d/サービス名 /etc/rc2.d/S99サービス名
また、自動停止させるために、以下のディレクトリに対してもシンボリックリンクを作成します。
- /etc/rc0.d
- /etc/rc1.d
- /etc/rcS.d
以下、手順例です。
$ ln -s /etc/init.d/サービス名 /etc/rc0.d/K00サービス名
アンセットアップ方法
アンセットアップ手順を以下に示します。
レプリケーションサービスの停止
“1.2.2.3 レプリケーションサービスの開始と停止”を参照してください。
シンボリックリンクの削除
シンボリックリンクを以下のディレクトリから削除して、自動停止を解除します。
- /etc/rc0.d
- /etc/rc1.d
- /etc/rcS.d
以下、手順例です。
$ rm /etc/rc0.d/K00サービス名
また、シンボリックリンクを以下のディレクトリから削除して、自動起動を解除します。
- /etc/rc2.d
以下、手順例です。
$ rm /etc/rc2.d/S99サービス名
スクリプトの削除
複写したスクリプトを削除します。
以下、手順例です。
$ rm /etc/init.d/サービス名
注意
自動起動は以下の順番になるようにシンボリックリンクの名前を決定してください。起動順序についてはシステム・ベンダのドキュメントを参照してください。
Symfoware ServerまたはEnterprise Postgresのインスタンス起動
Linkexpressの起動
レプリケーションサービスの開始
自動停止は以下の順番になるようにシンボリックリンクの名前を決定してください。停止順序についてはシステム・ベンダのドキュメントを参照してください。
レプリケーションサービスの停止
Linkexpressの停止
Symfoware ServerまたはEnterprise Postgresのインスタンスの停止
クラスタシステムで動作させる場合は、クラスタシステムにより起動停止が制御されるため、本機能を利用する必要はありません。
Windowsサービスによりレプリケーションサービスを開始および停止する場合の手順を以下に示します。
注意
Windowsシステム起動時にレプリケーションサービスを自動で開始する場合は、lxrepwinsrvコマンドで自動起動を指定して登録してください。Windowsサービスの登録については、“Windowsサービスの登録”を参照してください。
Windowsサービスの開始
以下の手順でWindowsサービスを起動してください。
[サービス]ウインドウを表示する
[スタート]メニューの[管理ツール]で、[サービス]をクリックします。
Windowsサービスを起動する
サービス名一覧の中から、起動したいレプリケーションサービスのWindowsサービス名を選択し、[サービスの開始]ボタンをクリックします。
Windowsサービスに登録されるレプリケーションサービス名は以下のようになります。
Linkexpress Replication option Service x (注)
注) xには動作環境ファイルのWINSERVICE_NAME_SUFFIXに指定した値が設定されます。WINSERVICE_NAME_SUFFIXの指定を省略した場合はLinkexpress Replication option Serviceとなります。
注意
[サービス]から起動した場合、起動処理の時間が125秒を経過するとサービスの仕様からエラーのダイアログが表示されます。
レプリケーションサービスの起動処理は正常に続行されますので、[OK]ボタンをクリックして、状態が「開始中」でなくなるまでお待ちください。
状態は[操作]メニューの[最新の情報に更新]を選択することによって最新の状態が表示されます。
Windowsサービスの停止
以下の手順でWindowsサービスを停止してください。
[サービス]ウインドウを表示する
[スタート]メニューの[管理ツール]で、[サービス]をクリックします。
Windowsサービスを停止する
サービス名一覧の中から、停止したいレプリケーションサービスのWindowsサービス名を選択し、[サービスの停止]ボタンをクリックします。
注意
[サービス]から停止した場合、停止処理の時間が125秒を経過するとサービスの仕様からエラーのダイアログが表示されます。
レプリケーションサービスの停止処理は正常に続行されますので、[OK]ボタンをクリックして、状態が「停止処理中」でなくなるまでお待ちください。
状態は[操作]メニューの[最新の情報に更新]を選択することによって最新の状態が表示されます。
差分ログ収集とは、Linkexpress Replication optionのレプリケーションプロセスがトランザクションログテーブルから一定間隔で差分ログを収集するスケジュール処理です。差分ログ収集スケジュールは、動作環境ファイルで指定します。指定方法の詳細は“1.1.2.3.3 動作環境ファイルの作成”を参照してください。
なお、差分ログ収集スケジュールの開始または終了は、レプリケーションサービスの開始または停止により行われます。以下に、差分ログ収集スケジュールの開始または終了タイミングについて説明します。
差分ログ収集スケジュールはレプリケーションサービスの開始完了により開始します。開始完了後から、動作環境ファイルの差分ログ収集間隔に指定した時間の経過ごとに差分ログ収集処理を実施します。
差分ログ収集スケジュールはレプリケーションサービスの停止処理により終了します。
なお、レプリケーションサービスの停止コマンドで停止モードを指定することにより、差分ログ収集スケジュールが処理中の場合の待合せ処理を指定できます。以下に停止モードごとの動作を説明します。詳細は“コマンドリファレンス”を参照してください。
注意
レプリケーションサービスの開始までに以下の準備が必要です。
動作環境ファイルの準備
詳細は“1.1.2.3.3 動作環境ファイルの作成”を参照してください。
Linkexpress Replication optionでは、以下のディスク領域を使用します。必要な容量を事前に準備してください。容量見積りの詳細は“システム設計ガイド”を参照してください。
抽出定義管理ファイル
差分ログファイル