ページの先頭行へ戻る
Linkexpress Replication optionV5.0L27 導入運用ガイド

3.1.3 レプリケーションサービスの開始

複写元サーバでは、データベースの更新によって取得された差分ログを、差分ログファイルに一定間隔で収集するレプリケーションサービスを開始します。

ここでは、複写元サーバでのレプリケーションサービスの開始について、以下の2つの方法について説明します。

なお、レプリケーションサービスの開始・停止により、差分ログ収集が開始・終了されます。差分ログ収集については、“1.1.3.4 差分ログ収集について”を参照してください。

3.1.3.1 コマンドで行う場合

Linkexpress Replication optionのコマンドでレプリケーションサービスを開始する場合は、lxrepstrコマンドを使用します。lxrepstrコマンドの詳細については、“コマンドリファレンス”の“lxrepstrコマンド”を参照してください。

SolarisLinux3.1.3.2 自動起動停止スクリプトで行う場合

サーバの起動時や停止時にレプリケーションサービスの開始と停止を自動的に行う場合は、自動起動停止スクリプトを利用します。

Linux3.1.3.2.1 Linuxの場合

Linuxの場合に自動起動停止スクリプトを利用する場合について説明します。

セットアップ方法

セットアップ手順を以下に示します。

rcスクリプトを使用する場合
  1. サービス名の命名
    同一サーバ内の他のレプリケーションサービスと重複しない名前を命名します。

  2. スクリプトを複写して権限を変更
    Linkexpress Replication optionのインストール先に格納されているスクリプトを、手順1.で命名したサービス名で複写します。以下、手順例です。

    # cp /opt/FJSVlnkre/SAMPLE/ORACLE/rc_lnkrep /etc/rc.d/init.d/サービス名
    # chmod 755 /etc/rc.d/init.d/サービス名
  3. スクリプトを編集
    手順2.で複写したスクリプト内の変数を編集します。

    変数名

    編集内容

    ORACLE_SID

    Oracleシステム名を指定します。

    ORACLE_HOME

    Oracleのインストールパスを指定します。

    REPUSER

    レプリケーションサービスを開始するOSユーザ名を指定します。編集しない場合にはrootとなります。

    DBUSER_ID

    レプリケーション管理者のユーザ名を指定します。編集しない場合にはREPUSERとなります。

    DBUSER_PASSWD

    レプリケーション管理者のパスワードを指定します。編集しない場合にはREPUSERとなります。

  4. シンボリックリンクの作成
    自動起動させるために、以下のディレクトリに対してシンボリックリンクを作成します。

    • /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サービス名
systemdを使用する場合
  1. レプリケーションサービス名の決定
    他のレプリケーションサービスと重複しない名前を決定します。

  2. Unitファイルの作成
    Linkexpress Replication optionのインストール先に格納されているUnitファイルのサンプルを複写し、対象とするレプリケーションサービスに合わせて修正します。以下、手順例です。

    • レプリケーションサービスのサービス名が“repsvc1”の場合

      # cp /opt/FJSVlnkre/SAMPLE/ORACLE/lnkrep.service.sample
        /usr/lib/systemd/system/lnkrep_repsvc1.service

    Unitファイルは以下のパラメタを修正します。

    セクション

    パラメタ

    指定値

    説明

    Unit

    Description

    Linkexpress Replication option service <レプリケーションサービス名>

    機能概要を記述します。

    該当するレプリケーションサービスを識別できる名称を記述します。

    Requires

    接続先のOracelのUnitファイル名(注)

    例:
    Requires=oraclesvoi_inst1.service

    レプリケーションサービス起動時の前提となる、接続先データベース・インスタンスのUnitファイル名を指定します。

    After

    network.target network-online.target

    接続先のOracle

    のUnitファイル名(注)

    例:
    After=network.target network-online.target
    After=oraclevoi_inst1.service

    レプリケーションサービス起動時の前提となる、接続先データベース・インスタンスのUnitファイル名を指定します。

    Service

    User

    ユーザ名

    レプリケーションサービスを開始するOSのユーザ名を指定します。

    Group

    グループ

    レプリケーションサービスを開始するOSのユーザ名の所属するグループを指定します。

    Environment

    環境変数名=設定値

    レプリケーションサービスを開始する際に必要な環境変数を指定します。

    注) Oracleの自動起動の設定においてsystemctlコマンドに指定したUnitファイル名を指定します。
    Linkexpress Replication optionのUnitファイルにおいて、UnitセクションのAfterパラメタにOracleのUnitファイル名を記述しないでください。

    ServiceセクションのEnvironmentに指定するパラメタは以下の通りです。

    パラメタ

    指定値

    説明

    ORACLE_SID

    Oracleシステム名

    例:
    Environment=ORACLE_SID=oracle

    Oracleシステム名を指定します。

    ORACLE_HOME

    Oracleのインストール先パス名

    例:
    Environment=ORACLE_HOME= /work/ora/app/oracle/product/12.2.0/client_1/

    Oracleのインストール先を絶対パスで指定します。

    NLS_LANG

    Japanese_Japan.AL32UTF8

    例:
    Environment=NLS_LANGE= Japanese_Japan.AL32UTF8

    Oracleの言語環境を指定します。

    LANG

    ja_JP.UTF-8またはC

    例:
    Environment=LANG=ja_JP.UTF-8

    Linkexpress Replication optionのインストール時のOSのデフォルトロケールを設定します。

    LD_LIBRARY_PATH

    ライブラリのパス名

    例:
    Environment=LD_LIBRARY_PATH=/opt/FJSVlnkre/lib:$ORACLE_HOME/lib

    Linkexpress Replication optionとOracleのライブラリを絶対パスで設定します。

    DBUSER

    Oracleに接続するユーザ名

    例:
    Environment=DBUSER=REPUSER

    レプリケーションプロセスがOracleに接続するユーザの名前を指定します。

    省略した場合は、Unitファイルに指定したUserパラメタが指定値になります。

    DBPASSWD

    Oracleに接続するユーザのパスワード

    レプリケーションプロセスがOracleに接続するユーザのパスワードを指定します。

    省略した場合は、Unitファイルに指定したUserパラメタが指定値になります。

  3. 自動起動・停止の有効化
    OSのスーパーユーザーで、systemctlコマンドを使って自動起動・停止を有効にします。以下、手順例です。

    • レプリケーションサービスのサービス名が“repsvc1”の場合

      # systemctl enable lnkrep_repsvc1.service

アンセットアップ方法

アンセットアップ手順を以下に示します。

rcスクリプトを使用する場合
  1. レプリケーションサービスの停止
    1.2.2.3 レプリケーションサービスの開始と停止”を参照してください。

  2. シンボリックリンクの削除
    シンボリックリンクを以下のディレクトリから削除して、自動停止を解除します。

    • /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サービス名
  3. スクリプトの削除
    複写したスクリプトを削除します。以下、手順例です。

    # rm /etc/rc.d/init.d/サービス名
systemdを使用する場合
  1. レプリケーションサービスの停止
    1.2.2.3 レプリケーションサービスの開始と停止”を参照してください。

  2. 自動起動停止の無効化
    OSのスーパーユーザーで、systemctlコマンドを使って自動起動停止を無効にします。以下、手順例です。

    • レプリケーションサービスのサービス名が“repsvc1”の場合

      # systemctl disable lnkrep_repsvc1.service
  3. Unitファイルの削除
    複写したUnitファイルを以下のディレクトリから削除します。以下、手順例です。

    • レプリケーションサービスのサービス名が“repsvc1”の場合

      # rm /usr/lib/systemd/system/lnkrep_repsvc1.service

注意

  • 自動起動は以下の順番になるようにシンボリックリンクの名前を決定してください。起動順序についてはシステム・ベンダのドキュメントを参照してください。

    1. Oracleインスタンスの起動

    2. Linkexpressの起動

    3. レプリケーションサービスの開始

  • 自動停止は以下の順番になるようにシンボリックリンクの名前を決定してください。停止順序についてはシステム・ベンダのドキュメントを参照してください。

    1. レプリケーションサービスの停止

    2. Linkexpressの停止

    3. Oracleインスタンスの停止

  • クラスタシステムで動作させる場合は、クラスタシステムにより起動停止が制御されるため、本機能を利用する必要はありません。

Solaris3.1.3.2.2 Solarisの場合

Solarisの場合に自動起動停止スクリプトで行う場合の手順を説明します。

セットアップ方法

セットアップ手順を以下に示します。

  1. サービス名の命名
    同一サーバ内の他のレプリケーションサービスと重複しない名前を命名します。

  2. スクリプトを複写して権限を変更
    Linkexpress Replication optionのインストール先に格納されているスクリプトを、手順1.で命名したサービス名で複写します。以下、手順例です。

    $ cp /opt/FSUNlnkre/SAMPLE/ORACLE/rc_lnkrep /etc/init.d/サービス名
    $ chmod 755 /etc/init.d/サービス名
  3. スクリプトを編集
    手順2.で複写したスクリプト内の変数を編集します。

    変数名

    編集内容

    ORACLE_SID

    Oracleシステム名を指定します。

    ORACLE_HOME

    Oracleのインストールパスを指定します。

    NLS_LANG

    NLS環境を指定します。

    LANG

    レプリケーションサービスを実行するロケールを指定します。

    REPUSER

    レプリケーションサービスを開始するOSユーザ名を指定します。編集しない場合にはrootとなります。

    DBUSER_ID

    レプリケーション管理者のユーザ名を指定します。編集しない場合にはREPUSERとなります。

    DBUSER_PASSWD

    レプリケーション管理者のパスワードを指定します。編集しない場合にはREPUSERとなります。

  4. シンボリックリンクの作成
    自動起動させるために、以下のディレクトリに対してシンボリックリンクを作成します。

    • /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. レプリケーションサービスの停止
    1.2.2.3 レプリケーションサービスの開始と停止”を参照してください。

  2. シンボリックリンクの削除
    シンボリックリンクを以下のディレクトリから削除して、自動停止を解除します。

    • /etc/rc0.d

    • /etc/rc1.d

    • /etc/rcS.d

    以下、手順例です。

    $ rm /etc/rc0.d/K00サービス名

    また、シンボリックリンクを以下のディレクトリから削除して、自動起動を解除します。

    • /etc/rc2.d

    以下、手順例です。

    $ rm /etc/rc2.d/S99サービス名
  3. スクリプトの削除
    複写したスクリプトを削除します。以下、手順例です。

    $ rm /etc/init.d/サービス名

注意

  • 自動起動は以下の順番になるようにシンボリックリンクの名前を決定してください。起動順序についてはシステム・ベンダのドキュメントを参照してください。

    1.Oracleインスタンスの起動

    2.Linkexpressの起動

    3.レプリケーションサービスの開始

  • 自動停止は以下の順番になるようにシンボリックリンクの名前を決定してください。停止順序についてはシステム・ベンダのドキュメントを参照してください。

    1.レプリケーションサービスの停止

    2.Linkexpressの停止

    3.Oracleインスタンスの停止

  • クラスタシステムで動作させる場合は、クラスタシステムにより起動停止が制御されるため、本機能を利用する必要はありません。