Oracle パブリッシャのパフォーマンス チューニング
Oracle のパブリッシング アーキテクチャは、MicrosoftSQL Server のパブリッシング アーキテクチャに似ています。したがって、「パフォーマンス (レプリケーション)」で紹介されているチューニング全般の推奨事項に従うことが、Oracle レプリケーションのパフォーマンスをチューニングするための第 1 歩となります。
それに加えて、Oracle パブリッシャには、パフォーマンスに関連するオプションが 2 つあります。
パブリッシング オプションとして、[Oracle (完全)] または [Oracle (ゲートウェイ)] のいずれか適切な方を指定します。
パブリッシャの変更を適切な間隔で処理するようにトランザクション セット ジョブを構成します。
適切なパブリッシング オプションの指定
[Oracle (ゲートウェイ)] を選択すると、[Oracle (完全)] より高いパフォーマンスが得られますが、このオプションは、複数のトランザクション パブリケーションで同じテーブルをパブリッシュする場合は使用できません。テーブルを表示できるのは、最大で 1 つのトランザクション パブリケーションと、任意の数のスナップショット パブリケーションになります。複数のトランザクション パブリケーションで同じテーブルをパブリッシュする必要がある場合は、[Oracle (完全)] を選択します。このオプションは、SQL Server ディストリビュータで Oracle パブリッシャを識別する際に指定します。詳細については、次のトピックを参照してください。
SQL Server Management Studio: Oracle データベースからパブリケーションを作成する方法 (SQL Server Management Studio)
レプリケーション Transact-SQL プログラミング : Oracle データベースからパブリケーションを作成する方法 (レプリケーション Transact-SQL プログラミング)
トランザクション セット ジョブの構成
パブリッシュされた Oracle テーブルに対する変更は、トランザクション セットと呼ばれるグループで処理されます。トランザクションの一貫性を確保するために、各トランザクション セットはディストリビューション データベースで 1 つのトランザクションとしてコミットされます。トランザクション セットが大きくなりすぎると、1 つのトランザクションとして効率的に処理できなくなります。
既定では、トランザクション セットはログ リーダー エージェントによってのみ作成されます。変更が頻繁に行われているときにログ リーダー エージェントが実行されていなかったり、SQL Server ディストリビュータから Oracle パブリッシャに接続できなかったりすると、トランザクション セットが極端に大きくなる可能性があります。この問題を防ぐには、ログ リーダー エージェントが実行されていなかったり Oracle パブリッシャに接続できなかったりしてもトランザクション セットが定期的に作成されるようにします。
トランザクション セットは、Xactset ジョブ (レプリケーションによってインストールされる Oracle データベース ジョブ) で作成できます。Xactset ジョブは、ログ リーダー エージェントと同じメカニズムを使ってトランザクション セットを作成します。このジョブが実行されるたびに、新しいトランザクション セットが作成されます。次にログ リーダー エージェントが実行されたときに、それまでに作成されたトランザクション セットが処理されます。既存のトランザクション セットがすべて処理された後にまだ保留中の変更がある場合は、ログ リーダー エージェントが 1 つ以上のトランザクション セットを追加で作成して処理します。
トランザクション セット ジョブを構成するには
- レプリケーション Transact-SQL プログラミング : Oracle パブリッシャ用にトランザクション セット ジョブを構成する方法 (レプリケーション Transact-SQL プログラミング)