月曜日 9 12, 2011

Oracle Databaseのレプリケーション (Oracle Streams)

今回は Oracle Database のレプリケーションを実装する機能として使用されることが多い Oracle Streams について紹介します。

レプリケーションとは

レプリケーションとはデータの複製(レプリカ)を作成する機能です。レプリケーションを行なう代表的な目的としては、複数の環境にデータを分散させることによる耐障害性能の向上や負荷分散があげられます。

Oracle Database で使用可能な双方向のレプリケーション機能としては主に Advanced Replication と Oracle Streams があります。今回は Oracle9i Database Release 2 以降で提供されている Oracle Streams について紹介をしていきます。

Oracle Streamsの特徴

Oracle Streams の概要はマニュアル Oracle Streams概要および管理 11g リリース2(11.2)Oracle Streamsの概要 にまとまっています。ぜひご一読ください。

また、次の日本語のマスターノートに Oracle Streams に関するナレッジをまとめています。

次の英語の文書にはRAC, Dataguard, Streams, Advanced Replication の各機能を比較しています。

あわせて次の英語の文書では CDC(Change Data Capture) と Oracle Streams の機能を比較しています。

以下に Oracle Streams の特徴の一部を Advanced Replication との比較を交え紹介します。Oracle Streams は Advanced Replication と同様に双方向のレプリケーションが可能な機能ですが、下記のような特長があります。

DDLの伝播が可能

Advanced Replication で伝播可能なのはデータの変更のみで、表定義を変更する DDL を伝播することはできませんでした。Oracle Streams ではデータの変更のみではなく、表定義の変更も伝播することができます。

伝播内容の変換が可能

Oracle Streams では伝播内容はメッセージとして扱われ、Oracle Streams Advanced Queuing の機能により、メッセージの内容を変更して適用することが可能になります。この方法により、Advanced Replication ではできなかった異なるスキーマや異なる定義のオブジェクトに変更を伝播することが可能です。

REDO からの変更の読み取り

レプリケーション環境への変更内容を取得するために、Advanced Replication では DML に対するトリガーを使用しています。このためにトランザクション実行時にトリガーによる内部表への更新のオーバーヘッドが生じました。

Oracle Streams ではトランザクションとは別に REDO から情報を取得するためトリガーによるオーバーヘッドがありません。

なお、この REDO からの変更の読み取りを行うためには Oracle Database Enterprise Edition をご利用いただく必要がありますが、一部の Streams の機能である同期取得については Oracle Database Standard Edition でもご利用いただけます。同期取得については以下の文書をご参照ください。

構成例

また、単純な構成例として下記のサンプルが紹介されています。実際に動作を確認することで理解も深まりますので、是非これらを参考に Oracle Streams 環境を構成してみてください。

トラブルシューティング

Oracle Streams には様々な専用のディクショナリビューが用意されており、障害時の詳細なトラブルシューティングに活用できます。利用方法も以下のようなスクリプトを用意しており、簡単にご利用いただけます。

今回は Oracle Streams について紹介しました。Oracle Streams は上記のような特長を持っていますが、パフォーマンスや利便性を高めるため、バージョンを追うごとに機能が追加、拡張されています。 Oracle Streams をよりよいレプリケーションのために活用いただければ幸いです。

About

日本オラクル カスタマ・サポートのエンジニアがお勧めのサポート情報を紹介します。


本サイトの一部のリンク先へアクセスするには My Oracle Support のアカウントが必要です。
My Oracle Support の概要については http://oracle.co.jp/mos をご参照ください。

Search

Archives
« 4月 2014
  
1
2
3
4
5
6
7
8
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
   
       
Today