ヘッダーをスキップ
Oracle® Streams概要および管理
12cリリース1 (12.1)
B71329-02
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

1 Oracle Streamsの概要

この章では、Oracle Streamsに関連する基本的な概念および用語について説明します。これらの概念については、このマニュアルの他の章および『Oracle Streamsレプリケーション管理者ガイド』を参照してください。

この章の内容は次のとおりです。

Oracle Streamsの概要

Oracle Streamsは、情報の共有を可能にします。Oracle Streamsでは、共有される情報の単位はメッセージと呼ばれ、メッセージをストリームで共有できます。ストリームによって、データベース内またはデータベース間で情報を伝播できます。ルーティングする情報とそのあて先を指定できます。その結果、メッセージの取得と管理、および他のデータベースやアプリケーションとのメッセージの共有において、従来のソリューションより優れた機能や柔軟性が得られます。Oracle Streamsには、分散エンタープライズ・アプリケーション、データ・ウェアハウスおよび高可用性ソリューションの構築と運用に必要な機能が用意されています。Oracle Streamsの機能は、すべて同時に使用できます。変更が必要な場合は、既存の機能を損わずにOracle Streamsの新機能を実装できます。

Oracle Streamsを使用して、データ・ストリームに入れる情報、ストリームが流れる方法、データベース間でのストリームのルーティング方法、ストリーム内のメッセージが各データベースに達したときの処理、およびストリームの終了方法を制御します。Oracle Streamsの特定の機能を構成することで、特定の要件に対処できます。Oracle Streamsでは、指定に基づいてデータベースでメッセージの取得、ステージングおよび管理を自動的に行うことができます。メッセージには、データ操作言語(DML)の変更やデータ定義言語(DDL)の変更などがありますが、それにとどまりません。また、ユーザー定義のメッセージをストリームに挿入して、Oracle Streamsが他のデータベースやアプリケーションに情報を自動的に伝播することもできます。メッセージが宛先に達すると、Oracle Streamsは指定に基づいてこれらを消費できます。

図1-1は、Oracle Streamsの情報フローを示しています。

図1-1 Oracle Streamsの情報フロー

図1-1の説明は図の下のリンクをクリックしてください。
「図1-1 Oracle Streamsの情報フロー」の説明

Oracle Streamsの機能

次の各項では、Oracle Streamsの機能の概要について説明します。

データベースでのメッセージの取得

Oracle Streamsには、データベース変更を暗黙に取得する2つの方法があります。これらは、取得プロセスおよび同期取得です。取得プロセスでは、表、スキーマまたはデータベース全体に対して行われたDML変更、およびDDL変更を取得できます。同期取得では、表に対して行われたDML変更を取得できます。変更が取得プロセスまたは同期取得のいずれによって取得されるかは、ルールによって決まります。

データベース変更は、データベースのREDOログに記録されます。取得プロセスは、REDOログから変更を取得して、取得した変更をそれぞれ論理変更レコード(LCR)と呼ばれる形式のメッセージにフォーマットします。取得プロセスによって取得されたメッセージを、取得LCRと呼びます。

同期取得では、内部メカニズムを使用して変更を取得し、取得した変更をそれぞれLCRにフォーマットします。同期取得によって取得されたメッセージを、永続LCRと呼びます。

取得プロセスまたは同期取得で使用されるルールによって、取得する変更が決められます。変更が取得プロセスで取得された場合、変更がREDOログに生成されたデータベースがソース・データベースになります。変更が同期取得で取得された場合は、同期取得が構成されているデータベースがソース・データベースになります。

取得プロセスは、ソース・データベースで変更をローカルに取得することも、ダウンストリーム・データベースで変更をリモートに取得することもできます。同期取得は、ソース・データベースで変更をローカルに取得することのみが可能です。取得プロセスと同期取得は、論理変更レコード(LCR)をキューにエンキューします。取得プロセスまたは同期取得による変更の取得は暗黙的取得と呼ばれます。

ユーザーおよびアプリケーションが、メッセージを手動でエンキューすることもできます。これらのメッセージはLCRです。または、ユーザー・メッセージと呼ばれるユーザー定義型のメッセージです。ユーザーおよびアプリケーションがメッセージを手動でエンキューすることを、明示的取得と呼びます。

キューへのメッセージのステージング

メッセージはキューに格納(ステージング)されます。このようなメッセージは、論理変更レコード(LCR)またはユーザー・メッセージです。取得プロセスおよび同期取得は、メッセージをANYDATAキューにエンキューします。ANYDATAキューは様々なタイプのメッセージをステージングできます。ユーザーとアプリケーションはメッセージをANYDATAキューまたは型付きキューにエンキューできます。型付きキューは、1つのタイプのメッセージのみをステージングできます。

キュー間でのメッセージの伝播

Oracle Streamsの伝播によって、あるキューから別のキューにメッセージを伝播できます。これらのキューは、同じデータベースにあっても異なるデータベースにあってもかまいません。ルールによって、伝播で伝播するメッセージが決定されます。

Oracle Streamsでは、有向ネットワークを介して変更が共有される環境を構成できます。有向ネットワークでは、伝播されるメッセージは、それらがコンシュームされる宛先データベースに到達する前に1つ以上の中間データベースを通過します。メッセージは、宛先データベースに加えて、中間データベースでコンシュームされる場合もコンシュームされない場合もあります。Oracle Streamsを使用すると、各宛先データベースに伝播されるメッセージを選択し、メッセージが宛先データベースに到達するまでのルートを指定できます。

メッセージのコンシューム

メッセージは、キューからデキューされるとコンシュームされます。適用プロセスは、メッセージを暗黙的にデキューできます。ユーザー、アプリケーションまたはメッセージ・クライアントは、メッセージを明示的にデキューできます。メッセージがコンシュームされるデータベースは、宛先データベースと呼ばれます。構成によっては、ソース・データベースと宛先データベースが同一の場合があります。

ルールによって、適用プロセスでデキューおよび処理するメッセージが決まります。適用プロセスはメッセージをデータベース・オブジェクトに直接適用するか、処理のためにメッセージをカスタムPL/SQLサブプログラムに渡します。

ルールによって、メッセージ・クライアントでデキューするメッセージが決まります。メッセージ・クライアントは、アプリケーションまたはユーザーによって起動された際にメッセージをデキューします。

競合の検出と解決

適用プロセスは、レプリケーション環境でLCRを直接適用するときに、競合を自動的に検出します。競合とは、LCRの古い値と表内の予期されるデータの不一致です。通常、競合が発生するのは、ソース・データベース内と宛先データベース内で同じ行がほぼ同時に変更される場合です。

競合が発生した場合は、ビジネス・ルールに従って競合を確実に解消するメカニズムが必要です。Oracle Streamsには、様々なビルトイン競合ハンドラが用意されています。これらのビルトイン・ハンドラを使用すると、データベースごとに、ビジネス・ルールに従って競合を解消する競合解消システムを定義できます。ビルトイン競合解消ハンドラが解決できない固有の状況がある場合は、独自の競合解消ハンドラを作成できます。

競合が解決されない場合や、ハンドラ・プロシージャにエラーが発生した場合、エラーを発生させたトランザクション内のすべてのメッセージは、後で分析して可能であれば再実行できるようにエラー・キューに保存されます。


関連項目:

  • 『Oracle Streamsレプリケーション管理者ガイド』


メッセージの変換

ルールベースの変換は、ポジティブ・ルール・セットルールTRUEと評価される場合に発生するメッセージの変更です。ルールベースの変換には、宣言とカスタムという2つのタイプがあります。

宣言ルールベースの変換では、スキーマ名の変更、表の名前変更、列の追加、列の名前変更、列の保持、および列の削除などの行LCRの一般的な変換を実行できます。このような変換はOracle Enterprise Manager Cloud Control、またはDBMS_STREAMS_ADMパッケージのプロシージャを使用して指定(宣言)します。Oracle Streamsでは、PL/SQLを起動せずに内部的に宣言変換が実行されます。

カスタム・ルールベースの変換では、変換を実行するユーザー定義PL/SQLファンクションが必要です。Oracle Streamsでは、変換を実行するPL/SQLファンクションが起動されます。カスタム・ルールベースの変換を実行すると、LCRまたはユーザー・メッセージのいずれかを変更できます。たとえば、カスタム・ルールベースの変換で、LCRの特定の列のデータ型を変更できます。

いずれのタイプのルールベースの変換も、次の時点で発生します。

  • 取得プロセスによるメッセージのエンキュー時。すべての宛先データベースに適切な方法でメッセージをフォーマットする場合に役立ちます。

  • メッセージの伝播時。メッセージが特定のリモート・サイトに送信される前にメッセージを変換する場合に役立ちます。

  • 適用プロセスまたはメッセージ・クライアントによるメッセージのデキュー時。特定の宛先データベースに適切な方法でメッセージをフォーマットする場合に役立ちます。

適用中に変換を実行すると、適用プロセスは変換されたメッセージを直接適用するか、変換されたメッセージを適用ハンドラに送信して処理させることができます。


注意:

  • ルールベースの変換を起動するには、ルールをポジティブ・ルール・セットに含める必要があります。ネガティブ・ルール・セット内のルールに指定したルールベースの変換は、取得プロセス伝播適用プロセスおよびメッセージ・クライアントによって無視されます。

  • このマニュアルでは、「ルールベースの変換」という用語は、本文が宣言ルールベースの変換とカスタム・ルールベースの変換の両方に該当する場合に使用されます。このマニュアルでは、必要に応じて、この2つのタイプのルールベースの変換を区別しています。


Oracle Streamsタグの付いたメッセージの追跡

REDOログの各REDOエントリには、タグが関連付けられています。タグのデータ型はRAWです。デフォルトでは、ユーザーまたはアプリケーションがREDOエントリを生成する時点では、各REDOエントリのタグの値はNULLであり、NULLタグは、REDOエントリの領域をコンシュームしません。タグ値の上限は2000バイトです。

Oracle Streamsでは、タグ値に関連する条件がルールに含まれ、これによってOracle Streamsクライアントの動作を制御できます。たとえば、タグを使用すると、LCRに含まれている変更の発生場所が、ローカル・データベースであるか異なるデータベースであるかを判断できるため、変更の循環(発生場所となったデータベースへのLCRの送信)を回避できます。また、タグを使用して、LCRごとに一連の宛先データベースを指定できます。タグは、他のLCRの追跡にも使用できます。

Oracle Streamsタグは、特定のセッションまたは適用プロセスで生成されるREDOエントリ用に指定できます。これらのタグは、取得プロセスまたは同期取得によって取得されたLCRの一部になります。通常、タグはOracle Streamsレプリケーション環境で使用されますが、データベース変更およびLCRを追跡するために、必要に応じて使用できます。


関連項目:

  • 『Oracle Streamsレプリケーション管理者ガイド』


Oracle以外のデータベースとの情報の共有

Oracle Streamsでは、Oracle Database間のみでなく、Oracle DatabaseとOracle以外のデータベースの間でも異機種間での情報の共有がサポートされます。


関連項目:

  • 『Oracle Streamsレプリケーション管理者ガイド』


Oracle Streamsの用途

次の各項では、Oracle Streamsを使用する理由について説明します。

場合によっては、Oracle StreamsコンポーネントによってOracleの様々な機能のインフラストラクチャが提供されます。

データ・レプリケーション

Oracle Streamsでは、データベース・オブジェクトに対するデータ操作言語(DML)とデータ定義言語(DDL)の変更を取得し、それらの変更を他の1つ以上のデータベースにレプリケートできます。Oracle Streamsの取得プロセスまたは同期取得は、ソース・データベース・オブジェクトに対する変更を取得して、LCR形式でフォーマットします。LCRは宛先データベースに伝播されて、Oracle Streamsの適用プロセスで適用できます。

宛先データベースでは、同じデータベース・オブジェクトに対するDML変更およびDDL変更が可能です。これらの変更は、環境内の他のデータベースに伝播される場合と、伝播されない場合があります。つまり、Oracle Streams環境を、変更を伝播する1つのデータベースで構成する方法と、データベース間で変更が双方向に伝播するように構成する方法があります。また、データを共有する表が、すべてのデータベースで同一である必要はありません。これらの表の構造と内容はデータベースごとに異なっていてもよく、各表の情報はこれらのデータベース間で共有できます。


関連項目:

  • レプリケーションのためのOracle Streamsの使用の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照


データ・ウェアハウスのロード

データ・ウェアハウスのロードは、データ・レプリケーションの特殊なケースです。データ・ウェアハウスの作成とメンテナンスで特に重要となるタスクには、既存データのリフレッシュと、実稼働データベースからの新規データの追加があります。Oracle Streamsのコンポーネントは、本番システムに加えられた変更を取得した後、それらをステージング・データベースに送ることも、データ・ウェアハウスや実稼働データ・ストアに直接送ることもできます。またOracle Streamsは、REDOログの情報を取得プロセスで取得することにより、本番システムに余計なオーバーヘッドがかかるの防ぎます。表に加えられた変更がOracle Streamsによって記録されるようにするための構成は、Oracle Streamsに付属するワンステップ型のプロシージャ(DBMS_STREAMS_ADM.MAINTAIN_CHANGE_TABLE)を使用して実行できます。データ変換やユーザー定義の適用プロシージャもサポートされているので、データがロードされる際、データを再フォーマットしたり、ウェアハウス固有のデータ・フィールドを更新するなど、必要な処理を柔軟に実装できます。


関連項目:


アップグレードおよびメンテナンス操作時のデータベースの可用性

Oracle Streamsの機能を使用すると、データベースのアップグレードやメンテナンス操作の際に、停止時間を最小限に抑えること、または停止時間をなくすことができます。メンテナンス操作には、別のプラットフォームへのデータベースの移行、別のキャラクタ・セットへのデータベースの移行、ユーザー作成アプリケーションのアップグレードをサポートするためのデータベース・スキーマ・オブジェクトの変更、Oracleソフトウェア・パッチの適用などがあります。

メッセージ・キューイング

Oracle Databaseアドバンスト・キューイング(AQ)を使用すると、ユーザー・アプリケーションは、メッセージキューにエンキューしたり、サブスクライバ・キューに伝播することができます。また、コンシュームの準備ができたことをユーザー・アプリケーションに通知したり、宛先でのメッセージのデキューを実行できるようになります。キューは、特定の型のメッセージのみをステージングするように構成するか、またはANYDATAキューとして構成できます。ほぼすべての型のメッセージは、ANYDATAラッパーにラップして、ANYDATAキューにステージングできます。Oracle Streams AQでは、マルチ・コンシューマ・キュー、パブリッシュおよびサブスクライブ、コンテンツベースのルーティング、インターネット伝播、変換、他のメッセージ・サブシステムへのゲートウェイなど、メッセージ・キューイング・システムのすべての標準機能がサポートされます。

データベースにキューを作成できます。また、アプリケーションはメッセージをキューに明示的にエンキューできます。サブスクライバ・アプリケーションまたはメッセージ・クライアントは、このキューからメッセージを直接デキューできます。アプリケーションがリモートの場合、ソース・キューでパブリッシュされたメッセージをサブスクライブするリモート・データベースにキューを作成できます。宛先アプリケーションは、リモート・キューからメッセージをデキューできます。また、宛先アプリケーションは、様々な標準プロトコルを使用して、ソース・キューからメッセージを直接デキューすることもできます。


関連項目:

  • Oracle Streams AQの詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』を参照


イベントの管理および通知

ビジネス・イベントは、アプリケーション間または組織間の重要な通信手段です。アプリケーションがイベントを表すメッセージキューに明示的にエンキューするか、Oracle Streams取得プロセスまたは同期取得がデータベース・イベントを取得して、LCRというメッセージにカプセル化します。このようなメッセージは、DMLまたはDDLの変更によって生成されます。伝播は、複数のキューを介してストリーム内のメッセージを伝播します。最後に、ユーザー・アプリケーションがメッセージを明示的にデキューするか、Oracle Streams適用プロセスがメッセージを暗黙的にデキューします。適用プロセスは、必要に応じて、これらのメッセージを同じキューまたは別のキューに明示的に再エンキューできます。

コンシューム後も、指定の期間が経過するまで明示的にエンキューされたメッセージを保持するように、キューを構成できます。この機能が備わっているため、Oracle Databaseアドバンスト・キューイング(AQ)をビジネス・イベント管理システムとして使用できます。Oracle Streams AQは、データベース内のすべてのメッセージをトランザクションとして格納します。これらのメッセージは自動的に監査および追跡できます。この監査証跡を使用して、ビジネス活動に関する情報を抽出できます。

Oracle Streams取得プロセス、同期取得、伝播、適用プロセスおよびメッセージ・クライアントは、ルールに基づいてアクションを実行します。取得、伝播、適用およびデキューするイベントは、ルールを使用して指定できます。組込みルール・エンジンは、これらのルールに基づいてイベントを評価します。イベントを取得し、ルールに基づいてそのイベントを関連するコンシューマに伝播する機能により、イベント通知にOracle Streamsを使用できます。イベントを表すメッセージはキュー内にステージングし、メッセージ・クライアントまたはアプリケーションで明示的にデキューできます。その後、これらのイベントに基づいて、電子メールによる通知、あるいは携帯電話やページャへの送信用ワイヤレス・ゲートウェイにメッセージを渡すなどのアクションを実行できます。


関連項目:


データ保護

データ保護のための1つのソリューションは、本番データベースのコピーをローカルまたはリモートで作成することです。人為的エラーや災害の際にコピーを使用して処理を再開できます。

また、Oracle Data Guard SQL Apply (Oracle Streamsと同様のインフラストラクチャの一部を使用するデータ保護機能)を使用して、ロジカル・スタンバイ・データベースを作成してメンテナンスすることもできます。Oracle Streamsレプリケーションの場合と同様に、取得プロセスがREDOログの変更を取得し、それらの変更をLCR形式でフォーマットします。このようなLCRがスタンバイ・データベースで適用されます。スタンバイ・データベースはすべての読取りおよび書込みに対応し、特殊な索引やその他のデータベース・オブジェクトを含むことができます。このため、更新が適用されるときには、スタンバイ・データベースを問い合せることができます。

更新は、できるだけ早くリモート・サイトのロジカル・スタンバイ・データベースに移動することが重要です。これによって、障害発生時にも、トランザクション消失が最小限で済みます。リモート・データベースにREDOログを同期式で直接書き込むことで、障害発生時にもデータ消失が発生しません。スタンバイ・システム側では、変更が取得され、適用プロセスによってスタンバイ・データベースに直接適用されます。


関連項目:


Oracle Streams構成の例

次の各項では、Oracle Streams構成の例の概要について説明します。

ハブ・アンド・スポーク・レプリケーション構成の例

図1-2に、ハブ・アンド・スポーク・レプリケーション構成の例を示します。通常、ハブ・アンド・スポーク・レプリケーション構成は、複数のターゲット・データベースに情報を配信したり、複数のデータベースの情報を単一のデータベースに統合するために使用されます。

ハブ・アンド・スポーク・レプリケーション構成は、中央データベース(ハブ)が1つ以上のセカンダリ・データベース(スポーク)と通信する環境です。スポークどおしは直接通信しません。ハブ・アンド・スポーク・レプリケーション構成では、スポークはレプリケートされたデータベース・オブジェクトに対する変更を許可する場合と許可しない場合があります。

図1-2のハブ・アンド・スポーク・レプリケーション構成の例には、1つのハブ・データベースと2つのスポーク・データベースがあります。スポーク・データベースでは、レプリケートされたデータベース・オブジェクトに対する変更が可能です。

図1-2 ハブ・アンド・スポーク・レプリケーション構成の例

図1-2の説明は図の下のリンクをクリックしてください。
「図1-2 ハブ・アンド・スポーク・レプリケーション構成の例」の説明

この構成の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。

ダウンストリーム取得によるレプリケーション構成の例

図1-3に、ダウンストリーム取得プロセスを使用するレプリケーション構成の例を示します。ダウンストリーム取得は、ソース・データベースではなくリモート・データベース上で取得プロセスが実行されることを意味します。ダウンストリーム取得を使用すると、本番データベースからの取得ワークロードが削除されます。

図1-3のレプリケーション構成の例では、ダウンストリーム取得プロセスがリモート・データベースdest.example.com上で実行され、REDOデータがソース・データベースsrc.example.comからリモート・データベースに送信されます。リモート・データベースでは、ダウンストリーム取得プロセスがソース・データベースから送信されたREDOデータの変更を取得し、適用プロセスがこれらの変更をローカル・データベース・オブジェクトに適用します。

図1-3 ダウンストリーム取得によるレプリケーション構成の例

図1-3の説明は図の下のリンクをクリックしてください。
「図1-3 ダウンストリーム取得によるレプリケーション構成の例」の説明

この構成の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。

同期取得によるレプリケーション構成の例

図1-4に、取得プロセスのかわりに同期取得を使用して変更を取得するレプリケーション構成の例を示します。同期取得レプリケーション構成を使用すると、非常にアクティブなデータベースやREDOログからの変更の取得が不可能な状況で、データの変更頻度が低い表に対する変更をレプリケートできます。

図1-4 同期取得によるレプリケーション構成の例

図1-4の説明は図の下のリンクをクリックしてください。
「図1-4 同期取得によるレプリケーション構成の例」の説明

この構成の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。

N-Wayレプリケーション構成の例

図1-5に、n-wayレプリケーション構成の例を示します。通常、n-wayレプリケーション構成は複数のピア・データベースを持つ環境で使用され、各データベースではデータを他の各データベースと相互にレプリケートする必要があります。n-wayレプリケーション構成はロード・バランシングを提供でき、単一データベースが使用できなくなった場合は、フェイルオーバー保護を提供できます。

n-wayレプリケーション構成は、各データベースが環境内の他のデータベースと相互に直接通信する構成です。あるデータベースでレプリケートされたデータベース・オブジェクトに対する変更は、取得されて環境内の他の各データベースに直接送信され、そこで適用されます。

図1-5のn-wayレプリケーション構成のサンプルでは、3つの各データベースが、レプリケートされたデータベース・オブジェクトへの変更を取得し、これらの変更を構成内の他の2つのデータベースに送信します。各データベースでの適用プロセスは、他の2つのデータベースから送信された変更を適用します。

図1-5 N-Wayレプリケーション構成の例

図1-5の説明が続きます
「図1-5 N-Wayレプリケーション構成の例」の説明

この構成の詳細は、『Oracle Streams拡張例』を参照してください。

単一データベースで取得および適用を実行する構成の例

図1-6に、単一データベースで取得プロセスによってデータベースの変更を取得し、適用プロセスによってこれらの変更を適用する構成の例を示します。この構成では、適用プロセスは変更をキューに再エンキューし、アプリケーションに処理させます。また、プロシージャDMLハンドラは、hr.employees表から削除された行をhr.emp_del表に挿入します。

図1-6 単一データベースの取得および適用構成の例

図1-6の説明が続きます
「図1-6 単一データベースの取得および適用構成の例」の説明

この構成の詳細は、『Oracle Streams拡張例』を参照してください。

メッセージ構成の例

図1-7に、メッセージ構成の例を示します。メッセージ構成では、キューからキューへメッセージを送信します。これらの2つのキューは、同じデータベースにあっても、異なるデータベースにあってもかまいません。メッセージは、カスタマイズされた方法でアプリケーションによりデキューして処理できます。

図1-7のメッセージ構成の例では、一方のデータベースのトリガーがメッセージを作成してエンキューします。伝播は、このメッセージをもう一方のデータベースに送信します。ここで、PL/SQLプロシージャがこのメッセージをデキューして処理します。

図1-7 メッセージ構成の例

図1-7の説明が続きます
「図1-7 メッセージ構成の例」の説明

Oracle Streamsのドキュメント・ロードマップ

Oracle Streamsでは、情報共有環境を設定、管理および監視するための様々なオプションが提供されています。この項では、必要なドキュメントの検索に役立つドキュメント・ロードマップを示します。

Oracle Streamsのドキュメント・セットには、次のドキュメントが含まれています。

  • Oracle Streams概要および管理は、Oracle Streamsの概念、Oracleで提供されるパッケージを使用したOracle Streamsコンポーネントの管理手順、およびデータ・ディクショナリ・ビューを使用したOracle Streamsコンポーネントの監視手順について詳しく記載しています。

  • 『Oracle Streamsレプリケーション管理者ガイド』は、Oracle Streamsレプリケーション環境に関する概念、およびOracle提供パッケージを使用したOracle Streamsレプリケーション環境の構成と管理について記載しています。

  • 『Oracle Streams拡張例』は、Oracle提供パッケージを使用して様々なタイプのOracle Streams環境(レプリケーション環境を含む)を構成する詳細な例を記載しています。

  • 『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』は、Oracle Streamsメッセージング(アドバンスト・キューイング)環境の概念、メッセージ環境の構成、およびOracleで提供されるパッケージや他の管理インタフェースを使用したメッセージ環境の管理について詳しく記載しています。

  • 『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』は、Oracleで提供される、Oracle Streams関連すのパッケージおよびタイプのリファレンス情報を記載しています。

  • 『Oracle Databaseリファレンス』は、Oracle Streamsに関連するデータ・ディクショナリ・ビューのリファレンス情報を記載しています。

  • Oracle Enterprise Manager Cloud ControlのOracle Streamsオンライン・ヘルプは、Oracle Enterprise Manager Cloud Controlを使用してOracle Streams環境を設定、管理および監視するための手順を記載しています。

このドキュメント・ロードマップは、これらのドキュメントから必要な情報を検索する際に役立ちます。

この項の内容は次のとおりです。

Oracle Streamsの概要に関するドキュメント

Oracle Streams環境を設定する前に、Oracle Streamsの機能および使用方法を理解しておくことをお薦めします。表1-1に、Oracle Streamsの概念を示します。

表1-1 Oracle Streamsの概要に関するドキュメント

概念を示す項目 参照先

適用プロセス

適用プロセスの一般概念については、「適用プロセスによる暗黙的コンシューム」

依存性のある変更の適用やDML変更とDDL変更の適用など、適用プロセスの高度な概念については、第10章「適用プロセスの高度な概念」

取得プロセス

取得プロセスの一般概念については、「Oracle Streams取得プロセスによる暗黙的取得」

単一のデータベースにおける複数の取得プロセスや取得プロセスのチェックポイントなど、取得プロセスの高度な概念については、第7章「取得プロセスの高度な概念」

サプリメンタル・ロギングの概念については、『Oracle Streamsレプリケーション管理者ガイド』

アプリケーションによるメッセージの取得(明示的取得)

アプリケーションによるメッセージの取得の概要は、「アプリケーションによる明示的取得」

アプリケーションによるメッセージの取得の詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』

取得と適用の複合による最適化

レプリケーション環境で取得プロセスから適用プロセスへデータベース変更をより効率的に送信することで、パフォーマンスを向上させる方法の詳細は、第12章「取得と適用の複合による最適化」

データの比較および収束

2つの異なるデータベースでデータベース・オブジェクトを比較して、その相違点を収束する方法の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

競合および競合解決

競合と競合解決の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

アプリケーションによるメッセージのコンシューム(明示的コンシューム)

アプリケーションによるメッセージのコンシュームの概要は、「手動デキューによる明示的コンシューム」

アプリケーションによるメッセージのコンシュームの詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』

異機種間での情報の共有


異機種間での情報の共有にXStreamを使用する方法の詳細は、『Oracle Database XStreamガイド』

Oracle以外のデータベースの処理の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

高可用性

第13章「Oracle Streams高可用性環境」

高可用性オプションの詳細は、Oracle Database高可用性概要

情報のプロビジョニング

大量の情報を効率的に移動またはコピーする方法の詳細は、第35章「情報のプロビジョニングの概要」

インスタンス化


2つ以上のデータベースでレプリケーション用にデータベース・オブジェクトを準備する場合の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

インスタンス化の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

論理変更レコード(LCR)

Oracle Streamsでメッセージを使用してデータベース変更を記述する方法の詳細は、「論理変更レコード(LCR)」

メッセージ・クライアント

「メッセージ・クライアントによる明示的コンシューム」


Oracle Streamsのベスト・プラクティス

『Oracle Streamsレプリケーション管理者ガイド』


Oracle Streamsの機能

「Oracle Streamsの機能」


Oracle Streamsと他のOracle Databaseとの相互運用性

付録A「Oracle Streamsと他のデータベース・コンポーネントとの連携」


Oracle Streamsの制限事項

付録B「Oracle Streamsの制限事項」


Oracle Streamsの用途

「Oracle Streamsの用途」


伝播

伝播の一般概念については、「キュー間でのメッセージの伝播」

伝播の高度な概念については、第9章「伝播の高度な概念」

キュー

キューでのメッセージの格納方法の詳細は、「キュー」

キューの高度な概念については、第8章「キューの高度な概念」

キューの詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』

ルール

ルールに基づいてOracle Streamsクライアントの動作を決定する方法の詳細は、第5章「Oracle Streamsでのルールの使用方法」

ルールの高度な概念については、第11章「ルールの高度な概念」

ルールベースの変換

ルールベースの変換の詳細は、第6章「ルールベースの変換」

同期取得

同期取得の詳細は、「同期取得による暗黙的取得」

タグ

タグの詳細は、『Oracle Streamsレプリケーション管理者ガイド』

ユーザー・メッセージ

ユーザーおよびアプリケーションによって作成されてエンキューされるメッセージの基本情報については、「ユーザー・メッセージ」

ユーザー・メッセージの詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』


Oracle Streams環境の設定または拡張に関するドキュメント

設定できるOracle Streams環境には多くのタイプがあり、様々なオプションを使用して設定できます。表1-2に、Oracle Streams環境の設定に必要なドキュメントを示します。

表1-2 Oracle Streams環境の設定または拡張に関するドキュメント

手順 参照先

Oracle Enterprise Manager Cloud Controlを使用したOracle Streamsレプリケーション環境の設定

Oracle Enterprise Manager Cloud ControlのStreamsレプリケーションの設定ウィザードについては、オンライン・ヘルプ

Oracle Enterprise Manager Cloud ControlのStreamsレプリケーションの設定ウィザードを開く手順については、『Oracle Streamsレプリケーション管理者ガイド』

1ステップのプロシージャを使用したOracle Streams レプリケーション 環境の設定

DBMS_STREAMS_ADMパッケージで1ステップのプロシージャを使用する場合の詳細な手順(プロシージャの実行前に行う必要のある決定とタスクを含む)は、『Oracle Streamsレプリケーション管理者ガイド』

DBMS_STREAMS_ADMパッケージの1ステップのプロシージャのリファレンス情報は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』

コンポーネントの個別構成によるOracle Streamsレプリケーション環境の設定

個々のコンポーネントを適切な順序で構成してOracle Streamsレプリケーション環境を設定する手順は、『Oracle Streamsレプリケーション管理者ガイド』

同期取得を使用するOracle Streamsレプリケーション環境を設定する手順の例については、『Oracle Streamsレプリケーション管理者ガイド』

次の例については、『Oracle Streams拡張例』

  • 1つの表に変更をレプリケートする単純なレプリケーション環境を設定する手順の例

  • ルールベースの変換を含む異機種間レプリケーション環境を設定する手順の例

  • 競合解決を使用してn-wayレプリケーション環境を設定する手順の例

Oracle Streamsレプリケーション環境を設定できるパッケージのリファレンス情報は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』。これらのパッケージの詳細は、「Oracle提供のPL/SQLパッケージ」

Oracle Enterprise Manager Cloud Controlを使用したOracle Streamsレプリケーション環境の拡張

Oracle Enterprise Manager Cloud Controlを使用して、データベースおよび表を追加することによって最も一般的なタイプのOracle Streamsレプリケーション環境を拡張する場合の例については、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

1ステップのプロシージャを使用したOracle Streamsレプリケーション環境の拡張

DBMS_STREAMS_ADMパッケージの1ステップのプロシージャを使用して、データベースおよび表を追加することによって最も一般的なタイプのOracle Streamsレプリケーション環境を拡張する場合の例については、『Oracle Streamsレプリケーション管理者ガイド』

Oracle Streamsレプリケーション環境を拡張できる1ステップのプロシージャのリファレンス情報は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』

コンポーネントの個別構成によるOracle Streamsレプリケーション環境の拡張

個々のコンポーネントを適切な順序で構成してOracle Streamsレプリケーション環境を拡張する場合の手順は、『Oracle Streamsレプリケーション管理者ガイド』

異機種間レプリケーション環境を拡張する手順の例については、『Oracle Streams拡張例』

Oracle Streamsレプリケーション環境を拡張できるパッケージのリファレンス情報は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』。これらのパッケージの詳細は、「Oracle提供のPL/SQLパッケージ」

Oracle Streamsのメッセージ環境の設定

メッセージング環境を設定する手順の詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』

メッセージ環境の設定に使用されるパッケージ(DBMS_STREAMS_ADMDBMS_STREAMS_MESSAGINGDBMS_AQADMおよびDBMS_AQを含む)のリファレンス情報は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』

Oracle Streamsのベスト・プラクティス

Oracle Streams環境の設定時のベスト・プラクティスについては、『Oracle Streamsレプリケーション管理者ガイド』

表領域リポジトリの設定

「表領域リポジトリの使用」


ファイル・グループ・リポジトリの設定

「ファイル・グループ・リポジトリの使用」



Oracle Streams環境の管理に関するドキュメント

Oracle Streams環境は、Oracle提供のPL/SQLパッケージおよびOracle Enterprise Manager Cloud Controlを使用して管理できます。表1-3に、Oracle Streams環境の管理に必要なドキュメントを示します。

表1-3 Oracle Streams環境の管理に関するドキュメント

管理の手順 参照先

適用プロセス

Oracle Enterprise Manager Cloud Controlを使用した適用ハンドラと適用タグの管理および適用プロセスの削除については、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

Oracle提供パッケージを使用した適用プロセスの管理の詳細は、第 17章「 Oracle Streams情報コンシュームの管理」

取得プロセス

Oracle Enterprise Manager Cloud Controlを使用した取得プロセスの先頭SCNまたは開始SCNの設定および取得プロセスの削除については、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

Oracle提供パッケージを使用した取得プロセスの管理の詳細は、「取得プロセスの管理」

サプリメンタル・ロギングの管理の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

Oracle StreamsデータベースのDBIDまたはグローバル名の変更

『Oracle Streamsレプリケーション管理者ガイド』


データの比較および収束

DBMS_COMPARISONパッケージおよび関連するデータ・ディクショナリ・ビューの使用に関する詳細は、『Oracle Streamsレプリケーション管理者ガイド』

競合および競合解決

競合の回避と競合解決の構成の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

Oracle Streamsでのエクスポート/インポート

「Oracle Streams環境での全データベースのエクスポート/インポートの実行」


情報のプロビジョニング

第36章「情報のプロビジョニングの使用」


インスタンス化


インスタンス化の実行の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

論理変更レコード(LCR)

「取得LCRの追加属性の管理」

『Oracle Streamsレプリケーション管理者ガイド』


Oracle Streamsのベスト・プラクティス

Oracle Streams環境の管理に関する推奨事項の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

Oracle Streamsレプリケーション環境

『Oracle Streamsレプリケーション管理者ガイド』


Oracle Streamsに関連するOracle提供パッケージ

Oracle Streams環境を管理できるパッケージのリファレンス情報は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』。これらのパッケージの概要は、「Oracle提供のPL/SQLパッケージ」

Point-in-TimeリカバリおよびOracle Streams

『Oracle Streamsレプリケーション管理者ガイド』


伝播

Oracle Enterprise Manager Cloud Controlを使用した伝播のスケジューリング、スケジュール解除および削除の詳細は、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

Oracle提供パッケージを使用した伝播の管理の詳細は、「Oracle Streamsの伝播および伝播ジョブの管理」

Oracle提供パッケージおよびその他の管理インタフェースを使用した伝播の管理の詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』

キュー

Oracle Enterprise Manager Cloud Controlを使用したキュー、キュー表およびアドバンスト・キューイングの変換の管理の詳細は、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

Oracle提供パッケージおよびその他の管理インタフェースを使用したキューの管理の詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』

「キューの管理」

Oracle Streams構成の削除

「Oracle Streams構成の削除」


ソース・データベースの再同期化

『Oracle Streamsレプリケーション管理者ガイド』


ルール

Oracle Enterprise Manager Cloud Controlを使用したルールの管理の詳細は、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

Oracle提供パッケージを使用したルールの管理の詳細は、第18章「ルールの管理」

ルールベースの変換

Oracle Enterprise Manager Cloud Controlを使用したルールベースの変換の管理の詳細は、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

Oracle提供パッケージを使用したルールベースの変換の管理の詳細は、第19章「ルールベースの変換の管理」

同期取得

Oracle提供パッケージを使用した同期取得の管理の詳細は、「同期取得の管理」

タグ

『Oracle Streamsレプリケーション管理者ガイド』


トラブルシューティング

Oracle Enterprise Manager Cloud Controlを使用したOracle Streams環境のトラブルシューティングの詳細は、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

Oracle Streams環境のトラブルシューティングの詳細は、第V部「Oracle Streams環境のトラブルシューティング」

使用不可能な宛先データベース

使用不可能な宛先データベースをレプリケーション環境から分離し、使用可能になった時点で再びレプリケーション環境にマージする方法の詳細は、『Oracle Streamsレプリケーション管理者ガイド』


Oracle Streams環境の監視に関するドキュメント

Oracle Streams環境は、主にOracle提供のPL/SQLパッケージ、データ・ディクショナリ・ビューおよびOracle Enterprise Manager Cloud Controlを使用して管理できます。表1-4に、Oracle Streams環境の管理に必要なドキュメントを示します。

表1-4 Oracle Streams環境の監視に関するドキュメント

監視の手順 参照先

適用プロセス

Oracle Enterprise Manager Cloud Controlを使用した適用プロセス・パラメータ、適用ハンドラおよび適用エラーの監視の詳細は、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

データ・ディクショナリ・ビューを使用した適用プロセスの監視の詳細は、第26章「Oracle Streams適用プロセスの監視」

取得プロセス

Oracle Enterprise Manager Cloud Controlを使用した取得プロセス・パラメータの監視の詳細は、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

データ・ディクショナリ・ビューを使用した取得プロセスの監視の詳細は、「取得プロセスの監視」

取得と適用の複合による最適化

「取得と適用の複合を使用する取得プロセスの判別」

「取得と適用の複合を使用する適用プロセスの判別」


互換性

Oracle Streamsクライアントと互換性のないデータベース・オブジェクトの表示の詳細は、「Oracle Streams環境での互換性の監視」

競合および競合解決

データ・ディクショナリ・ビューを使用した競合検出および更新競合ハンドラの監視の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

Oracle Streamsに関連するデータ・ディクショナリ・ビュー

第22章「Oracle Streamsの静的データ・ディクショナリ・ビュー」

『Oracle Databaseリファレンス』


情報のプロビジョニング

第37章「ファイル・グループおよび表領域リポジトリの監視」


インスタンス化


『Oracle Streamsレプリケーション管理者ガイド』


論理変更レコード(LCR)

ストリームを介したLCRの追跡の詳細は、『Oracle Streamsレプリケーション管理者ガイド』

メッセージ機能

データ・ディクショナリ・ビューを使用したメッセージ環境の監視の詳細は、『Oracle Databaseアドバンスト・キューイング・ユーザーズ・ガイド』

「キューおよびメッセージの監視」

「バッファ・キューの監視」

Oracle Streams管理者

「Oracle Streams管理者とその他のOracle Streamsユーザーの監視」


Oracle Streamsプール


「Oracle Streamsプールの監視」


Oracle Streamsのトポロジおよびパフォーマンス統計

第23章「Oracle Streamsのトポロジおよびパフォーマンスの監視」


伝播

Oracle Enterprise Manager Cloud Controlを使用した伝播のプロパティおよび統計の監視の詳細は、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

データ・ディクショナリ・ビューを使用した伝播の監視の詳細は、「Oracle Streamsの伝播および伝播ジョブの監視」

ルール

Oracle Enterprise Manager Cloud Controlを使用したルールの監視の詳細は、Oracle Enterprise Manager Cloud Controlのオンライン・ヘルプ

データ・ディクショナリ・ビューを使用したルールの監視の詳細は、第27章「ルールの監視」

ルールベースの変換

データ・ディクショナリ・ビューを使用したルールベースの変換の監視の詳細は、第28章「ルールベースの変換の監視」

同期取得

データ・ディクショナリ・ビューを使用した同期取得の監視の詳細は、「同期取得の監視」

注意: 現在、Oracle Enterprise Manager Cloud Controlでは同期取得の監視はサポートされていません。

タグ

データ・ディクショナリ・ビューを使用したタグの監視の詳細は、『Oracle Streamsレプリケーション管理者ガイド』


Oracle Streamsを使用したアップグレードおよびメンテナンスに関するドキュメント

Oracle Streamsを使用すると、データベースのアップグレードなどの1回のみの操作を、わずかな停止時間または停止時間なしで実行できます。表1-5は、Oracle Streamsを使用して1回のみの操作を実行する際に必要なドキュメントを示します。

表1-5 Oracle Streamsを使用したデータのアップグレードおよびメンテナンスに関するドキュメント

手順 参照先

Oracle Streamsを使用した、わずかな停止時間または停止時間なしでのデータベースのアップグレードおよびメンテナンス操作の実行

Oracle Streamsを使用して、わずかな停止時間または停止時間なしでOracle Database 10g リリース2 (10.2)以上のデータベースを現在のリリースにアップグレードする方法、およびOracle Streamsを使用して、わずかな停止時間または停止時間なしでデータベースをメンテナンスする方法の詳細は、付録D「Oracle Streamsを使用したオンラインでのデータベースのアップグレードおよびメンテナンス」。データベースのメンテナンス操作には、異なるプラットフォームへのデータベースの移行、異なるキャラクタ・セットへのデータベースの移行、ユーザー作成アプリケーションへのアップグレードをサポートするためのデータベース・スキーマ・オブジェクトの変更、およびOracle Databaseソフトウェアのパッチまたはパッチ・セットの適用が含まれます。

Oracle Streamsを使用した、わずかな停止時間または停止時間なしでのデータベースのアップグレード

Oracle Streamsを使用して、わずかな停止時間または停止時間なしでOracle Database 10g リリース1 (10.1)以下のデータベースを現在のリリースにアップグレードする方法の詳細は、付録E「Oracle Streamsを使用した以前のデータベースのオンラインでのアップグレード」