Chat now with support
Chat with Support

SharePlex 8.6.6 - リファレンス・ガイド

このガイドについて このガイドで使用されている表記規則 SharePlex コマンド SharePlex パラメータ SharePlex ユーティリティ 付録 B:SharePlex 環境変数

中央データストアを維持するための複製の設定

ここでは、集約レプリケーションの目的で SharePlex をセットアップする方法について説明します。これにより、複数のソースシステムから単一の中央ターゲットシステムに複製します。この方法では、以下のようなビジネス要件がサポートされます。

  • リアルタイムのレポート作成とデータ分析
  • 中央データストア / マートまたはウェアハウスへのビッグデータの蓄積

サポートされるターゲット

Oracle およびオープンターゲット

機能

この複製方法では以下がサポートされます。

  • 同一または異なるソースおよびターゲット名
  • 垂直分割レプリケーションの使用
  • 水平分割レプリケーションの使用
  • 名前付き export キューおよび post キューの使用

必要条件

  • SharePlex インストールガイド』の手順に従って、システムの準備、SharePlex のインストール、およびデータベースアカウントの設定を行います。

  • 複製先の環境を用意します。「複製のための Oracle 環境の準備」を参照してください。
  • ターゲットテーブルで DML または DDL を実行できるのは、SharePlex だけです。複製設定の外部にあるターゲットシステム上のテーブルに対しては、複製に影響を与えることなく DML および DDL 操作を実行できます。
  • それぞれのソースシステムは、異なるデータのセットを中央ターゲットに複製する必要があります。いずれかのソースシステムが同じデータを中央ターゲットシステムに複製した場合、そのデータはアクティブ / アクティブ複製とみなされます。この場合、2 つの異なるソースから同時に同じ行が更新されたときに、conflict resolution ルーチンを使用してどちらのソースが「競合に勝つ」かを決定する必要があります。アクティブ / アクティブ複製を確立するには、「複数のピアデータベースを保持するための複製の設定」を参照してください。

  • シーケンスがターゲットシステムで不要な場合は、複製しないでください。複製を低速する可能性があります。ソーステーブルでキーを生成するためにシーケンスを使用した場合でも、シーケンスの値は、複製された行がターゲットシステムに挿入されたときのキー列の一部です。シーケンスそのものは複製する必要がありません。

展開オプション

複数のソースシステムから 1 つのターゲットシステムに複製するための SharePlex の展開オプションには、次の 2 つがあります。

どちらの展開でも、ソースシステムがターゲットシステムに直接接続できない場合は、そのルートのカスケードレプリケーションを使用して、ターゲットに接続できる中間システムに SharePlex がデータをカスケードできるようにします。詳細については、次を参照: 中間システムを経由する複製の設定

SharePlexcompare および repair コマンドは、カスケード設定では使用できません。

ターゲットシステムへの 1 つの SharePlex インスタンスの展開

ターゲットシステム上で SharePlex のインスタンスを 1 つ使用して、すべての受信データを処理できます。複製が開始されると、SharePlex は、ソースシステムごとに Import プロセスを中央ターゲットシステム上に作成します。次に、ソース / ターゲット複製ストリームごとに、1 つの sp_cop プロセスによって制御される post キューおよび Post プロセスを作成します。各ソース / ターゲットストリームは別個に制御できます。ただし、post キューは、ターゲットシステム上の同じ SharePlex 変数データディレクトリをすべて共有します。

単一の変数データディレクトリを使用する展開には、次の潜在的なリスクがあります。

  • 変数データディレクトリを含むディスクとの間の処理を中断するイベントは、すべての複製ストリームに影響します。
  • クリーンアップユーティリティを使用すると、すべての複製ストリームが影響を受けます。これは、クリーンアップが変数データディレクトリ全体で実行されるためです。
  • 1 つのソースシステムで purge config コマンドを発行した場合、他のソースシステムから複製されたデータも削除されます。これは、パージが変数データディレクトリ全体に影響するためです。名前付き post キューを使用するとこのリスクを回避できますが、展開内の SharePlex オブジェクトの名前付け、監視、管理が複雑になります。

この展開を使用するには

  • SharePlex を通常どおりにインストールします。それぞれのシステム(ソースおよびターゲット)に、1 つのポート番号と 1 つの変数データディレクトリを設定します。
  • SharePlex をインストールするときに、インストールごとに SharePlex のデータベースアカウントを必ず作成します。
  • 重要! すべてのシステムで SharePlex に同じポート番号を使用してください。

ターゲットシステムへの複数の SharePlex インスタンスの展開

各ソースシステムに対応する SharePlex の複数のインスタンスをターゲットに展開できます。SharePlex インスタンスは、次の要素で構成されます。

  • 一意の sp_cop プロセス
  • 一意の変数データディレクトリ
  • sp_cop が実行される一意のポート番号
  • インスタンスのプロセスがデータベースと対話するために使用する一意のデータベースアカウント

SharePlex の複数の別個のインスタンスを実行すると、ソースとターゲット間の複製ストリームを相互に分離できます。この結果、次のことが可能になります。

  • 複数のプロセスで、単一の変数データディレクトリ内の同一キューへのアクセスを競う場合に発生しうる競合の問題を回避します。
  • 1 つの設定をパージするか、1 つの複製ストリームをクリーンアップして再同期化する一方で、他の複製ストリームで処理を続行します。
  • 変数データディレクトリを別のディスクに配置して、1 つのディスクの問題が他のディスク上の変数データディレクトリに影響しないようにします。

この展開を使用するには

可能であれば、ターゲットシステムに最初にインストールします。これで、各変数データディレクトリのポート番号を確立できます。このポート番号は、対応するソースシステム上で SharePlex をセットアップするときに参照できます。

ターゲットシステムでの手順

複数の SharePlex インスタンスの実行」のいずれかのセットアップオプションを選択します。これらの手順では、ターゲット上に SharePlex の独立したインスタンスを確立する方法を順に説明しています。SharePlex をすでにターゲットにインストールしている場合は、変数データディレクトリ、データベースアカウント、およびポート番号がすでに存在します。この SharePlex インスタンスをいずれかのソースシステム専用にした後、手順に従って追加のインスタンスをターゲットに作成できます。

ソースシステムでの手順

SharePlex インストールガイド』の説明に従って、各ソースシステムに SharePlex のインスタンスを 1 つインストールします。それらのインスタンスのポート番号を、関連するターゲットの変数データディレクトリのポート番号と一致させます。ソースシステムに SharePlex をすでにインストールしている場合は、必要に応じてポート番号を変更できます。詳細については、次を参照: SharePlex のポート番号の設定

設定

オブジェクトを中央ターゲットに複製する各ソースシステムに設定ファイルを作成します。設定ファイルの作成については、「設定ファイルの作成」を参照してください。

datasource_specification

   
source_specification target_specification central_host[@db]

ここで、

  • source_specification は、ソースオブジェクト(owner.object)の完全修飾名またはワイルドカード指定です。
  • target_specification は、ターゲットオブジェクト(owner.object)の完全修飾名またはワイルドカード指定です。
  • central_host は、ターゲットシステムです。
  • db は、データベース指定です。データベース指定は、接続タイプに応じて、Oracle SID の前に付加される o. または r.、tns_names エイリアス、またはデータベース名から構成されます。ターゲットが JMS、Kafka、またはファイルの場合、データベース識別子は必要ありません。
例:

この例では、hostA 上のデータソース oraAhostB 上のデータソース oraB から hostC システム上の oraC にデータを複製します。

hostA からのデータ
Datasource:o.oraA    
hr.* hr.* hostC@o.oraC
fin.* fin* hostC@o.oraC
hostB からのデータ
Datasource:o.oraA    
cust.* hr.* hostC@o.oraC

mfg.*

mfg.* hostC@o.oraC

推奨されるターゲット設定

集約設定内の各ソースシステムは、別個のデータストリームを送信します。このデータストリームは、ターゲット固有の Post プロセスに流れます。任意の一意の識別子を各ソースシステムに割り当て、その識別子をターゲットに post する挿入または更新操作ごとに含めるように Post プロセスを設定できます。

このように行を識別することで、ソースによる行の選択または識別が必要な他の作業と同様に、(ソース ID が必要な)SharePlexcompare および repair コマンドを環境でサポートする準備が整います。compare および repair プロセスは、ソース ID 値を使って、そのソースに対して有効な行のみを選択します。

ソース ID を書き込むように各 Post を設定するには

  1. ターゲットテーブルを作成または変更して、SHAREPLEX_SOURCE_ID という名前の列を含めます。これは、ソース ID 値が格納される列です。

    :次の手順に進む前に、set metadata オプションを指定した target コマンドを実行してこの名前を変更できます。詳細については、『 SharePlex リファレンスガイド』を参照してください。

  2. 各ソースシステムの一意の ID を選択します。任意の単一の英数字文字列を使用できます。
  3. ターゲットで、Post プロセスごとに sp_ctrl を実行します。
  4. Post プロセスごとに、set source オプションを指定した target コマンドを発行します。このコマンドは、Post プロセスによって post されるソース ID を設定します。次の例は、3 つの Post プロセスのコマンドを示しています。

    sp_ctrl> target sys4 queue Q1 set source east

    sp_ctrl> target sys4 queue Q2 set source central

    sp_ctrl> target sys4 queue Q3 set source west

Related Documents

The document was helpful.

Select Rating

I easily found the information I needed.

Select Rating