Oracle パブリッシャの動作方法
Microsoft SQL Server を使用すると、Oracle パブリッシャをレプリケーション トポロジに含めることができます。これは、Oracle Version 9i および SQL Server 2005 以降について適用されます。パブリッシング サーバーは、Oracle 対応の任意のハードウェアおよびオペレーティング システムに配置できます。この機能は、既に確立されている SQL Server のスナップショット レプリケーションとトランザクション レプリケーションを基礎としており、同様のパフォーマンスと使い勝手が実現されています。
Oracle のスナップショット レプリケーション
Oracle のスナップショット パブリケーションは、SQL Server のスナップショット パブリケーションと同じような方法で実装されます。Oracle パブリケーションに対してスナップショット エージェントが実行されると、エージェントは Oracle パブリッシャに接続し、パブリケーションの各テーブルを処理します。各テーブルの処理では、テーブルの行が取得され、スキーマ スクリプトが作成されます。これらは、パブリケーションのスナップショット共有に格納されます。スナップショット エージェントが実行されるたびにデータの完全なセットが作成されるため、Oracle テーブルにはトランザクション レプリケーションのように変更追跡のトリガは追加されません。スナップショット レプリケーションは、パブリッシング システムへの影響を最小限に抑えながらデータを移行するのに便利です。
スナップショット レプリケーションの詳細については、「スナップショット レプリケーションの動作方法」を参照してください。
Oracle のトランザクション レプリケーション
Oracle のトランザクション パブリケーションは、SQL Server のトランザクション パブリッシング アーキテクチャを使用して実装されます。ただし、変更の追跡は、Oracle データベースのデータベース トリガとログ リーダー エージェントの組み合わせによって行われます。Oracle トランザクション パブリケーションのサブスクライバは、スナップショット レプリケーションを使用して自動的に初期化されます。その後の変更はログ リーダー エージェントによって追跡され、変更が発生するとサブスクライバに配信されます。Oracle パブリッシャの変更の追跡の詳細については、「Oracle パブリッシャのトランザクション レプリケーション ワークフロー」を参照してください。
Oracle パブリケーションを作成すると、Oracle データベース内のパブリッシュされた各テーブルに対してトリガと追跡テーブルが作成されます。パブリッシュされたテーブルのデータが変更されると、テーブルのデータベース トリガが起動されて、変更された各行の情報がレプリケーション追跡テーブルに挿入されます。その後、SQL Server ディストリビュータのログ リーダー エージェントが、そのデータ変更情報を追跡テーブルからディストリビュータのディストリビューション データベースへと移動します。最後に、標準のトランザクション レプリケーションと同じように、ディストリビューション エージェントが変更をディストリビュータからサブスクライバに移動します。
トランザクション レプリケーションの詳細については、「トランザクション レプリケーションの動作方法」を参照してください。