Oracle GoldenGateとは

この記事ではOracle GoldenGateについて解説します。

 Oracle GoldenGateとは

Oracle GoldenGateとはデータのレプリケーション(複製)を行うための製品です。

Enterprise Editionのオプション製品ではないのでStandard Editionでも使用できます。

GoldenGateはOracle Database以外の主要なデータベースにも対応しており、異なるデータベース同士でもデータ連携ができます。

また、バージョン間が異なるDB同士でもデータ連携を行うことができるため、DBのバージョンアップツールとしても利用されています。


 GoldenGateのプロセス

GoldenGateは下記のプロセスが動作することによってデータ連携を行っています。

・Caputureプロセス

ソースDBから連携する情報を抽出するプロセスです。

抽出したデータは「trailファイル」と呼ばれるGoldenGate用の中間データファイルとして出力されます。

・DataPumpプロセス

ソースDBに生成されたtrailファイルをターゲットDBに送信するプロセスです。

Export/Importに使用されるツールである「DataPump」とは名前が同じですが全くの別物になります。

・Colletctorプロセス

DataPumpプロセスから送信されたtrailファイルを受信し、ターゲット側のtrailファイルに出力するプロセスです。

・Replicatプロセス

ターゲットのtrailファイルの情報をターゲットDBに反映するプロセスです。

・Managerプロセス

GoldenGate全体の管理、監視を行うプロセスです。

ソースDB、ターゲットDBの両方で起動するプロセスです。


 Data Guardとの比較

Oracle DatabaseにはレプリケーションツールとしてData Guardも存在します。

Data Guardに対してGoldenGateの利点は以下のようなものがあります。

・Active/Activeの構成をとることができる

Data GuardではActive/Standbyの構成しかとることはできませんが、GoldenGateではActive/Active構成でのリアルタイム同期を実現できます。

また、双方向のレプリケーションも可能です。

・レプリケーションの対象を指定できる

Data GuardはDB全体のレプリケーションしか行えませんが、GoldenGateではテーブル単位などレプリケーション対象を制限することもできます。

Data Guardに比べて柔軟な構成を組むことができるのがメリットになります。