SharePlexは、Oracle Clusterwareクラスタハードウェアおよびソフトウェアと統合することで、データキャプチャの高可用性を維持し、ターゲットへのレプリケーションを中断しません。SharePlexを実行しているノードに障害が発生した場合、またはメンテナンスのためにクラスタから取り外す必要がある場合、クラスタソフトウェアによって別のサーバでSharePlexを起動できます。SharePlexの起動と停止はクラスタを通じて制御されます。
これらの説明は、クラスタソリューションがクラスタのドキュメントに従ってすでにインストールされ、テストされ、機能していることを前提としています。クラスタのインストールに固有の追加手順が必要になる場合があります。
以下の図は、Oracle RACクラスタにインストールされたSharePlexを示しています。
以下の手順で、OracleクラスタでSharePlexをセットアップします。
重要! これらの説明は、クラスタのインストールとセットアップのうち、クラスタでのSharePlexのセットアップに関連する部分をカバーします。使用しているプラットフォームの完全な手順については、Oracleのドキュメントを参照してください。
該当する場合は、ソースクラスタとターゲットクラスタで以下の手順を実行します。
クラスタの1つのノードで、SharePlexの静的アプリケーション仮想IP(VIP)アドレスを作成します。このVIPは、SharePlexが実行されるノードをポイントする必要があります。このノードは、プライマリノードに障害が発生した場合にセカンダリノードにフェイルオーバします。
注意:
例: 123.456.0.78 splex |
SharePlexが各ノードのデータベースへの接続に使用するTNSエイリアスを作成します。クラスタの各ノードで同じエイリアスを使用します。ロードバランスをオフに設定し、フェイルオーバをオンに設定します。次などを考慮します。
ノード1: ora_a_sp = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = RAC1)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC2)(PORT = 1521)) ) (LOAD_BALANCE = OFF) (FAILOVER = ON) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ora_a) (INSTANCE_NAME = ora_a1) ) ) |
ノード2:
ora_a_sp = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = RAC2)(PORT = 1521)) (ADDRESS = (PROTOCOL = TCP)(HOST = RAC1)(PORT = 1521)) ) (LOAD_BALANCE = OFF) (FAILOVER = ON) (CONNECT_DATA = (SERVER = DEDICATED) (SERVICE_NAME = ora_a) (INSTANCE_NAME = ora_a2) ) )
注意: TNSエイリアスは、ローカルインスタンス名に優先するグローバル接続情報を確立し、SharePlexが、設定の再アクティベーションを必要とせずにフェイルオーバインスタンスに接続できるようにします。SharePlexは、設定ファイルから正しいOracleインスタンスを識別します。
(UNIXとLinuxのみ)フェイルオーバ時にSharePlexが起動する予定の各ノードで、oratabファイルにTNSエイリアスを追加します。
例(全ノード):
ora_a:/u01/app/oracle/product/11.2.0/dbhome_1:N ora_a_sp:/u01/app/oracle/product/11.2.0/dbhome_1:N
クラスタ内のOracleインスタンスのORACLE_HOMEがそれぞれ異なる場合は、各ノードとDNSネームサーバ(該当する場合)のoratabファイルを編集して、実際のORACLE_HOMEパスの代わりにシンボリックリンクを使用します。
SID:/path_to_symbolic_link:N
クラスタでは、SharePlexはUnixとLinuxにインストールされています。
UnixとLinuxにインストールするには:
LinuxやUnixの場合、ベストプラクティスは、SharePlexの変数データと製品のディレクトリを、各ノードではなく、共有ドライブに置くことです。この構成により、SharePlexのより効率的なフェイルオーバと、より高速なアップグレードが可能になります。
これらのディレクトリをクラスタの両ノードにローカルにインストールする場合は、次のようにしてください。
SharePlexのインストール後、データベース・セットアップ・ユーティリティを実行します。以下はクラスタに適用されます。
変数データディレクトリに共有ドライブを使用している場合、プライマリノードに追加したライセンスキーは、他のすべてのセカンダリノードにも適用されます。ローカルの変数データディレクトリを使用する場合は、splex_add_keyユーティリティを使用して、セカンダリノードにもライセンスをインストールする必要があります。
該当する場合は、ソースクラスタおよびターゲットクラスタで以下の手順を実行します。
VIPエイリアスとSharePlex変数データディレクトリを指すようにSharePlex環境を設定します。
UNIXとLinuxで環境を設定するには:
EXPORT SP_SYS_HOST_NAME="splex"
SP_SYS_PRODDIR=/home/shareplex
SP_SYS_VARDIR="/app/shareplex/vardir"
SharePlexのレプリケーションを指示する設定ファイルを作成するとき、次のように実際のORACLE_SIDではなくTNSエイリアスを指定します。
ソースクラスタからキャプチャするには:
ファイルのo.datasource行にTNSエイリアスを指定します。これは設定ファイルの最初の行です。
次などを考慮します。
datasource:o.ora_a_sp
ターゲットクラスタにポストするには:
ルーティングマップの宛先にTNSエイリアスを指定します。
例えば(オブジェクトの指定にワイルドカードを使うことを想定):
expand hr.% hr.% inst_c@ora_b_sp
ソースとターゲットクラスタ(該当する場合)を設定すると、ソースデータのコピーをスタンドアロンターゲットまたはクラスタ化されたターゲットに入力できるようになります。レプリケーションは、ソースデータベース上でユーザが行ったトランザクション変更の追跡を続けます。Oracle固有のコピー方法のいずれかを使用して、アクティブなソースからのレプリケーションをアクティベーションします。詳細については、『SharePlex管理ガイド』の「本番稼働環境でのレプリケーションのアクティベーション」にある手順を参照してください。
SharePlexをクラスタソフトウェアのリソースとして組み込み、クラスタのフェイルオーバルーチンに含めて、フェイルオーバ時に他のアプリケーションと一緒に移行するようにします。これにより、クラスタソフトウェアによってsp_copプロセスが採用ノード上で開始されるようになります。これには、少なくとも、フェイルオーバを処理するためにSharePlexの起動スクリプトとSharePlexのクラスタスクリプトの作成が含まれます。
注意:
|
SharePlexが同じ環境にフェイルオーバするためには、クラスタ内のいずれかのノードでオペレーティングシステムに対して行った変更またはアップグレードはクラスタ内のすべてのノードに実装する必要があることをシステム管理者が理解していることを確認してください。
注意:
|
基本的なデモを行う前に、以下のものを用意してください。
ソースシステムのsplex.demo_srcをターゲットシステムのsplex.demo_destにレプリケートします。これらのテーブルはデフォルトでSharePlexスキーマにインストールされます(このデモでは「splex」)。お使いのSharePlexスキーマはこれとは異なることがあります。これらのテーブルが存在することを確認します。
列名 | データ型 | Null? |
---|---|---|
NAME | varchar2(30) | |
ADDRESS | verchar2(60) | |
PHONE | varchar2(12) |
|
© ALL RIGHTS RESERVED. Terms of Use Privacy Cookie Preference Center