第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についても最適な環境をご提供できるよう、アセスメントを実施しておりますので、ご検討の際はお気軽にご相談ください。