第38回:SharePlexのデータ同期設定/操作方法と考慮事項

技術者向け・データベースの技術情報発信

技術者向け・データベースの技術情報発信

システムエグゼではOracle GoldenGate(以下、GoldenGate)、SharePlex、Qlik Replicateによるデータ移行、データ連携の実績が豊富にあります。
今回はSharePlexの設計/運用について紹介します。

1.はじめに

論理レプリケーションのデータ同期は、その製品によりさまざまな方法/考慮事項があります。
今回はOracle DatabaseのデータをSharePlexでデータ同期したい場合、どのような手順が必要になるのかを簡単にご紹介します。

2.同期設定

ShrePlex10.2 for Windowsの同期設定について解説します。

同期定義ファイルの作成

SharePlexでは、どのデータベースオブジェクトを、どこに同期するかをテキストベースのファイルに定義する必要があります。
この定義ファイルのことをconfigファイルと呼びます。
また、同期元のことをソース、同期先のことをターゲットと呼びます。

例えば、Oracle DatabaseのORCL1インスタンス上のscott.empテーブルをHost名が[HostT]というサーバ上のORCL2インスタンスに同期する場合は、ソース側で以下のように定義します。

datasource:o.ORCL1
#Source Object	Target Object 	Routing
scott.emp		scott.emp		HostT@o.ORCL2

ワイルドカードの利用

同期設定はテーブルごとに記載する必要はなく、以下のようにワイルドカードを利用することもできます。

datasource:o.ORCL1
#Source Object	Target Object 	Routing
expand scott.%	scott.%		HostT@o.ORCL2

※ワイルドカード[%]利用時は[expand]句を付与します。
scottスキーマにテーブルやインデックスを追加した場合、同期設定を変更しなくてもDDL,DMLを同期することができます。

除外設定

scottスキーマ内のdept表を同期から除外したい場合は以下のように指定できます。

datasource:o.ORCL1
#Source Object		Target Object 	Routing
expand scott.% not (dept)	scott.%		HostT@o.ORCL2

※除外設定はカンマ[,]区切りによる複数指定やワイルドカード[%]を含めた指定も可能です。

3.同期操作

ShrePlex10.2 for Windowsの同期操作について解説します。

同期準備

SharePlexでは同期を開始する前に、ソース/ターゲットのオブジェクト/データを合わせておく必要があります。
一般的にはエクスポート/インポートツールやソースデータベースのバックアップを用いてターゲット側にリストア等を行います。

同期登録

設定した同期定義(configファイル)に従い実際に同期を開始する場合は、以下のように同期の登録操作を行います。

sp_ctrl> activate config <config_fileNmae>

※activate操作はデータベースオブジェクトをロックする操作が含まれることから、トランザクションが実行されてない(または少ない)時間帯に実施することが推奨されています。
また、activateに要する時間はデータ量ではなく、同期するオブジェクト数に依存します。

同期解除

同期を解除する場合は、以下のように同期の解除操作を行います。

sp_ctrl> activate config <config_fileNmae>

※同期解除後に、もう一度同期の登録を実施する場合は、ソース/ターゲットのオブジェクト/データを合わせておく必要があるので、同期解除の際は注意が必要です。

4.考慮事項

SharePlexでの同期設定/操作は単純ですが、実際に本番環境で利用する際は、論理レプリケーション製品特有の下記のような考慮が必要です。

  • SharePlex特有の制限事項について、用途に応じて精査が必要です。

  • データベースのオブジェクト構成によっては、ソース/ターゲットでオブジェクト(シーケンス、トリガー等)の調整が必要となる場合があります。

  • データベースの容量が大きい場合は、一貫性を保持した分割エクスポート/インポート等の検討が必要となる場合があります。

  • トランザクション量が多い場合は、同期の分割構成等の検討が必要となる場合があります。

5.おわりに

システムエグゼでは大規模データベースの設計/構築/データ連携/データ移行について豊富な実績があります。
またSharePlexについても最適な環境をご提供できるよう、アセスメントを実施しておりますので、ご検討の際はお気軽にご相談ください。