この章では、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の情報フローを示しています。
次の各項では、Oracle Streamsの機能の概要について説明します。
Oracle Streamsには、データベース変更を暗黙に取得する2つの方法があります。これらは、取得プロセスおよび同期取得です。取得プロセスでは、DDL変更と、表、スキーマまたはデータベース全体に対して行われたDML変更を取得できます。同期取得では、表に対して行われた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には、様々なビルトイン競合ハンドラが用意されています。これらのビルトイン・ハンドラを使用すると、データベースごとに、ビジネス・ルールに従って競合を解消する競合解消システムを定義できます。ビルトイン競合解消ハンドラが解決できない固有の状況がある場合は、独自の競合解消ハンドラを作成できます。
競合が解決されない場合や、ハンドラ・プロシージャにエラーが発生した場合、エラーを発生させたトランザクション内のすべてのメッセージは、後で分析して可能であれば再実行できるようにエラー・キューに保存されます。
関連項目:
|
ルールベースの変換は、ポジティブ・ルール・セットのルールがTRUE
と評価される場合に発生するメッセージの変更です。ルールベースの変換には、宣言とカスタムという2つのタイプがあります。
宣言ルールベースの変換では、スキーマ名の変更、表の名前変更、列の追加、列の名前変更、列の削除などの行LCRの一般的な変換を実行できます。このような変換は、DBMS_STREAMS_ADM
パッケージのプロシージャを使用して指定(宣言)します。Oracle Streamsでは、PL/SQLを起動せずに内部的に宣言変換が実行されます。
カスタム・ルールベースの変換では、変換を実行するユーザー定義PL/SQLファンクションが必要です。Oracle Streamsでは、変換を実行するPL/SQLファンクションが起動されます。カスタム・ルールベースの変換を実行すると、LCRまたはユーザー・メッセージのいずれかを変更できます。たとえば、カスタム・ルールベースの変換で、LCRの特定の列のデータ型を変更できます。
いずれのタイプのルールベースの変換も、次の時点で発生します。
取得プロセスによるメッセージのエンキュー時。すべての宛先データベースに適切な方法でメッセージをフォーマットする場合に役立ちます。
メッセージの伝播時。メッセージが特定のリモート・サイトに送信される前にメッセージを変換する場合に役立ちます。
適用プロセスまたはメッセージ・クライアントによるメッセージのデキュー時。特定の宛先データベースに適切な方法でメッセージをフォーマットする場合に役立ちます。
適用中に変換を実行すると、適用プロセスは変換されたメッセージを直接適用するか、変換されたメッセージを適用ハンドラに送信して処理させることができます。
注意:
|
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 Database間のみでなく、Oracle DatabaseとOracle以外のデータベースの間でも異機種間での情報の共有がサポートされます。
関連項目:
|
次の各項では、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は、取得プロセスでREDOログの情報を取得することで、本番システムに発生する不要なオーバーヘッドを回避します。データ変換とユーザー定義の適用プロシージャがサポートされることで、データがロードされる際の、データの再フォーマットやウェアハウス固有のデータ・フィールドの更新に必要な柔軟性が得られます。また、チェンジ・データ・キャプチャはOracle Streamsの一部のコンポーネントを使用して、データ・ウェアハウスにロードするための、変更されたデータを識別します。
関連項目:
|
Oracle Streamsの機能を使用すると、データベースのアップグレードやメンテナンス操作の際に、停止時間を最小限に抑えること、または停止時間をなくすことができます。メンテナンス操作には、別のプラットフォームへのデータベースの移行、別のキャラクタ・セットへのデータベースの移行、ユーザー作成アプリケーションのアップグレードをサポートするためのデータベース・スキーマ・オブジェクトの変更、Oracleソフトウェア・パッチの適用などがあります。
Oracle Streamsアドバンスト・キューイング(AQ)を使用すると、ユーザー・アプリケーションは、メッセージをキューにエンキューしたり、サブスクライバ・キューに伝播することができます。また、コンシュームの準備ができたことをユーザー・アプリケーションに通知したり、宛先でのメッセージのデキューを実行できるようになります。キューは、特定の型のメッセージのみをステージングするように構成するか、またはANYDATA
キューとして構成できます。ほぼすべての型のメッセージは、ANYDATA
ラッパーにラップして、ANYDATA
キューにステージングできます。Oracle Streams AQでは、マルチ・コンシューマ・キュー、パブリッシュおよびサブスクライブ、コンテンツベースのルーティング、インターネット伝播、変換、他のメッセージ・サブシステムへのゲートウェイなど、メッセージ・キューイング・システムのすべての標準機能がサポートされます。
データベースにキューを作成できます。また、アプリケーションはメッセージをキューに明示的にエンキューできます。サブスクライバ・アプリケーションまたはメッセージ・クライアントは、このキューからメッセージを直接デキューできます。アプリケーションがリモートの場合、ソース・キューでパブリッシュされたメッセージをサブスクライブするリモート・データベースにキューを作成できます。宛先アプリケーションは、リモート・キューからメッセージをデキューできます。また、宛先アプリケーションは、様々な標準プロトコルを使用して、ソース・キューからメッセージを直接デキューすることもできます。
関連項目:
|
ビジネス・イベントは、アプリケーション間または組織間の重要な通信手段です。アプリケーションがイベントを表すメッセージをキューに明示的にエンキューするか、Oracle Streams取得プロセスまたは同期取得がデータベース・イベントを取得して、LCRというメッセージにカプセル化します。このようなメッセージは、DMLまたはDDLの変更によって生成されます。伝播は、複数のキューを介してストリーム内のメッセージを伝播します。最後に、ユーザー・アプリケーションがメッセージを明示的にデキューするか、Oracle Streams適用プロセスがメッセージを暗黙的にデキューします。適用プロセスは、必要に応じて、これらのメッセージを同じキューまたは別のキューに明示的に再エンキューできます。
コンシューム後も、指定の期間が経過するまで明示的にエンキューされたメッセージを保持するように、キューを構成できます。この機能が備わっているため、Oracle Streamsアドバンスト・キューイング(AQ)をビジネス・イベント管理システムとして使用できます。Oracle Streams AQは、データベース内のすべてのメッセージをトランザクションとして格納します。これらのメッセージは自動的に監査および追跡できます。この監査証跡を使用して、ビジネス活動に関する情報を抽出できます。
Oracle Streams取得プロセス、同期取得、伝播、適用プロセスおよびメッセージ・クライアントは、ルールに基づいてアクションを実行します。取得、伝播、適用およびデキューするイベントは、ルールを使用して指定できます。組込みルール・エンジンは、これらのルールに基づいてイベントを評価します。イベントを取得し、ルールに基づいてそのイベントを関連するコンシューマに伝播する機能により、イベント通知にOracle Streamsを使用できます。イベントを表すメッセージはキュー内にステージングし、メッセージ・クライアントまたはアプリケーションで明示的にデキューできます。その後、これらのイベントに基づいて、電子メールによる通知、あるいは携帯電話やページャへの送信用ワイヤレス・ゲートウェイにメッセージを渡すなどのアクションを実行できます。
データ保護のための1つのソリューションは、本番データベースのコピーをローカルまたはリモートで作成することです。人為的エラーや災害の際にコピーを使用して処理を再開できます。
また、Oracle Data Guard SQL Apply(Oracle Streamsと同様のインフラストラクチャの一部を使用するデータ保護機能)を使用して、ロジカル・スタンバイ・データベースを作成してメンテナンスすることもできます。これは、本番データベースと論理的に等しいスタンバイ・コピーです。Oracle Streamsレプリケーションでは、取得プロセスがREDOログの変更を取得し、それらの変更をLCR形式でフォーマットします。このようなLCRがスタンバイ・データベースで適用されます。スタンバイ・データベースはすべての読取りおよび書込みに対応し、特殊な索引やその他のデータベース・オブジェクトを含むことができます。このため、更新が適用されるときには、スタンバイ・データベースを問い合せることができます。
更新は、できるだけ早くリモート・サイトのロジカル・スタンバイ・データベースに移動することが重要です。これによって、障害発生時にも、トランザクション消失が最小限で済みます。リモート・データベースにREDOログを同期式で直接書き込むことで、障害発生時にもデータ消失が発生しません。スタンバイ・システム側では、変更が取得され、適用プロセスによってスタンバイ・データベースに直接適用されます。
次の各項では、Oracle Streams構成の例の概要について説明します。
図1-2に、ハブ・アンド・スポーク・レプリケーション構成の例を示します。通常、ハブ・アンド・スポーク・レプリケーション構成は、複数のターゲット・データベースに情報を配信したり、複数のデータベースの情報を単一のデータベースに統合するために使用されます。
ハブ・アンド・スポーク・レプリケーション構成は、中央データベース(ハブ)が1つ以上のセカンダリ・データベース(スポーク)と通信する環境です。スポークどおしは直接通信しません。ハブ・アンド・スポーク・レプリケーション構成では、スポークはレプリケートされたデータベース・オブジェクトに対する変更を許可する場合と許可しない場合があります。
図1-2のハブ・アンド・スポーク・レプリケーション構成の例には、1つのハブ・データベースと2つのスポーク・データベースがあります。スポーク・データベースでは、レプリケートされたデータベース・オブジェクトに対する変更が可能です。
この構成の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイドを参照してください。
図1-3に、ダウンストリーム取得プロセスを使用するレプリケーション構成の例を示します。ダウンストリーム取得は、ソース・データベースではなくリモート・データベース上で取得プロセスが実行されることを意味します。ダウンストリーム取得を使用すると、本番データベースからの取得ワークロードが削除されます。
図1-3のレプリケーション構成の例では、ダウンストリーム取得プロセスがリモート・データベースdest.example.com
上で実行され、REDOデータがソース・データベースsrc.example.com
からリモート・データベースに送信されます。リモート・データベースでは、ダウンストリーム取得プロセスがソース・データベースから送信されたREDOデータの変更を取得し、適用プロセスがこれらの変更をローカル・データベース・オブジェクトに適用します。
この構成の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイドを参照してください。
図1-4に、取得プロセスのかわりに同期取得を使用して変更を取得するレプリケーション構成の例を示します。同期取得レプリケーション構成を使用すると、非常にアクティブなデータベースやREDOログからの変更の取得が不可能な状況で、データの変更頻度が低い表に対する変更をレプリケートできます。
この構成の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイドを参照してください。
図1-5に、n-wayレプリケーション構成の例を示します。通常、n-wayレプリケーション構成は複数のピア・データベースを持つ環境で使用され、各データベースでデータを他の各データベースとレプリケートする必要があります。n-wayレプリケーション構成はロード・バランシングを提供でき、単一データベースが使用できない場合は、フェイルオーバー保護を提供できます。
n-wayレプリケーション構成は、各データベースが環境内の他のデータベースと相互に直接通信する構成です。あるデータベースでレプリケートされたデータベース・オブジェクトに対する変更は、取得されて環境内の他の各データベースに直接送信され、そこで適用されます。
図1-5のn-wayレプリケーション構成のサンプルでは、3つの各データベースが、レプリケートされたデータベース・オブジェクトへの変更を取得し、これらの変更を構成内の他の2つのデータベースに送信します。各データベースでの適用プロセスは、他の2つのデータベースから送信された変更を適用します。
この構成の詳細は、Oracle Streamsレプリケーション管理者ガイドを参照してください。
図1-6に、単一データベースで取得プロセスによってデータベースの変更を取得し、適用プロセスによってこれらの変更を適用する構成の例を示します。この構成では、適用プロセスは変更をキューに再エンキューし、アプリケーションに処理させます。また、DMLハンドラは、hr.employees
表から削除された行をhr.emp_del
表に挿入します。
この構成の詳細は、第32章「単一データベースの取得および適用の例」を参照してください。
図1-7に、メッセージ構成の例を示します。メッセージ構成では、キューからキューへメッセージを送信します。これらの2つのキューは、同じデータベースにあっても、異なるデータベースにあってもかまいません。メッセージは、カスタマイズされた方法でアプリケーションによりデキューして処理できます。
図1-7のメッセージ構成の例では、一方のデータベースのトリガーがメッセージを作成してエンキューします。伝播は、このメッセージをもう一方のデータベースに送信します。ここで、PL/SQLプロシージャがこのメッセージをデキューして処理します。
この構成の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイドを参照してください。
Oracle Streams環境を構成、管理および監視するには、複数のツールを使用できます。Oracle提供のPL/SQLパッケージは主要な構成および管理ツールですが、Oracle Enterprise ManagerのOracle Streamsツールにも環境を管理できるように構成、管理および監視機能が用意されています。また、Oracle Streamsデータ・ディクショナリ・ビューには、Oracle Streams環境に関する情報が常に表示されます。
次のOracle提供のPL/SQLパッケージには、Oracle Streams環境を構成して管理するためのプロシージャおよびファンクションが含まれています。
DBMS_APPLY_ADM
パッケージには、適用プロセスを起動、停止および構成するための管理インタフェースが用意されています。このパッケージには、適用ハンドラを構成し、メッセージのエンキューの宛先を設定し、メッセージの実行ディレクティブを指定するためのプロシージャが含まれています。また、このパッケージには、宛先データベースでオブジェクトのインスタンス化SCNを設定するための管理プロシージャも用意されています。さらに、競合検出と競合解決を構成するためのサブプログラム、および適用エラーを管理するためのサブプログラムも含まれています。
DBMS_CAPTURE_ADM
パッケージには、取得プロセスを起動、停止および構成するための管理インタフェースが用意されています。また、同期取得を構成するための管理インタフェースも用意されています。このパッケージには、宛先データベースでインスタンス化するために、ソース・データベースでデータベース・オブジェクトを準備するための管理プロシージャもあります。
DBMS_RULE
パッケージには、ルール・セットを評価するEVALUATE
プロシージャが含まれています。このプロシージャの目的は、データに基づいて条件を満たすルールのリストを作成することです。このパッケージには、ルール評価中にイテレータを使用するためのサブプログラムも含まれています。イテレータは、評価に対してTRUE
またはMAYBE
と評価されるすべてのルールを返すのではなく、1つのルールを1つずつ返すことができます。
DBMS_RULE_ADM
パッケージには、ルール、ルール・セットおよびルール評価コンテキストを作成および管理するための管理インタフェースが用意されています。さらに、ルールに関連する権限を管理するためのサブプログラムも含まれています。
DBMS_STREAMS
パッケージには、ANYDATA
オブジェクトをLCRオブジェクトに変換し、Oracle Streams属性およびOracle Streamsクライアントに関する情報を返し、さらにセッションで生成されたREDOエントリにタグを付けるためのインタフェースが用意されています。このタグは、ルールにREDOエントリまたはLCRのタグの仕様が含まれている取得プロセス、伝播、適用プロセスまたはメッセージ・クライアントの動作に影響する場合があります。
DBMS_STREAMS_ADM
パッケージには、表、スキーマおよびデータベースの各レベルでの取得プロセス、伝播および適用プロセスに関する単純ルールを追加および削除するための管理インタフェースが用意されています。このパッケージを使用すると、伝播によって伝播されるメッセージ、およびメッセージ・クライアントによってデキューされるメッセージを制御するルールを追加することもできます。また、このパッケージには、キューを作成し、データ・ディクショナリ情報など、Oracle Streamsのメタデータを管理するためのプロシージャも含まれています。このパッケージには、Oracle Streams レプリケーション環境を構成および管理するためのプロシージャも含まれています。このパッケージは、Oracle Streams環境で共通のタスクを完了するための簡便な方法として提供されます。DBMS_CAPTURE_ADM
、DBMS_PROPAGATION_ADM
、DBMS_APPLY_ADM
、DBMS_RULE_ADM
およびDBMS_AQADM
など、他のパッケージを使用すると、これと同じタスクのみでなく、追加のカスタマイズを必要とするタスクを完了できます。
DBMS_STREAMS_ADVISOR_ADM
パッケージには、Oracle Streams環境に関する情報を収集し、それらの情報に基づいてデータベース管理者にアドバイスするためのインタフェースが用意されています。このパッケージは、Oracle Streamsパフォーマンス・アドバイザに含まれています。
DBMS_STREAMS_AUTH
パッケージには、Oracle Streams管理者の権限を付与および取消しを行うためのインタフェースが用意されています。
DBMS_STREAMS_MESSAGING
パッケージには、ANYDATA
キューにメッセージをエンキューしたり、そこからメッセージをデキューするためのインタフェースが用意されています。
Oracle Streams環境内の各データベースには、Oracle Streamsのデータ・ディクショナリ・ビューがあります。これらのビューでは、ローカルのルール、オブジェクト、取得プロセス、伝播、適用プロセスおよびメッセージ・クライアントに関する管理情報が保持されます。これらのビューを使用して、Oracle Streams環境を監視できます。
関連項目:
|
Oracle Streams環境の構成、管理および監視を容易にするために、OracleではOracle Enterprise ManagerコンソールにOracle Streamsツールを用意しています。Oracle Streamsツールを使用すると、Oracle Streams構成スクリプトを生成し、それを変更して実行し、Oracle Streams環境を構成できます。Oracle Streamsツールの主な資料は、オンライン・ヘルプです。
図1-8に、Enterprise Managerの「Streams」ページの上部を示します。
図1-9に、Oracle Streamsのトポロジを示します。これは、Enterprise Managerの「Streams」ページの下部に表示されます。
関連項目:
|
Oracle Streamsでは、情報共有環境を設定、管理および監視するための様々なオプションが提供されています。この項では、必要なドキュメントの検索に役立つドキュメント・ロードマップを示します。
Oracle Streamsのドキュメント・セットには、次のドキュメントが含まれています。
Oracle Database 2日でデータ・レプリケーションおよび統合ガイドは、Oracle Streamsに関する重要な概念、最も一般的なレプリケーションとメッセージ環境の設定例、およびOracle Streamsコンポーネントの管理と監視の基本的な手順を記載しています。
Oracle Streams概要および管理は、Oracle Streamsの概念、Oracleで提供されるパッケージを使用したOracle Streamsコンポーネントの管理手順、およびデータ・ディクショナリ・ビューを使用したOracle Streamsコンポーネントの監視手順について詳しく記載しています。
Oracle Streamsレプリケーション管理者ガイドは、Oracle Streamsレプリケーション環境に関する概念、およびOracleで提供されるパッケージを使用したOracle Streamsレプリケーション環境の構成と管理について記載しています。
Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイドは、Oracle Streamsメッセージング(アドバンスト・キューイング)環境の概念、メッセージ環境の構成、およびOracleで提供されるパッケージや他の管理インタフェースを使用したメッセージ環境の管理について詳しく記載しています。
Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンスは、Oracleで提供される、Oracle Streams関連すのパッケージおよびタイプのリファレンス情報を記載しています。
Oracle Databaseリファレンスは、Oracle Streamsに関連するデータ・ディクショナリ・ビューのリファレンス情報を記載しています。
Oracle Enterprise ManagerのOracle Streamsオンライン・ヘルプは、Oracle Enterprise Managerを使用したOracle Streams環境の設定、管理および監視の手順について説明しています。
このドキュメント・ロードマップは、これらのドキュメントから必要な情報を検索する際に役立ちます。
この項の内容は次のとおりです。
Oracle Streams環境を設定する前に、Oracle Streamsの機能および使用方法を理解しておくことをお薦めします。表1-1に、Oracle Streamsの概念を示します。
表1-1 Oracle Streamsの概要に関するドキュメント
概念を示す項目 | 参照先 |
---|---|
適用プロセスを使用したデータベース変更およびその他のメッセージ・タイプの適用に関する基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド 適用プロセスの詳細は、「適用プロセスによる暗黙的コンシューム」 依存性のある変更の適用やDML、DDL変更の適用など、レプリケーション環境に固有の適用プロセスの詳細は、Oracle Streamsレプリケーション管理者ガイド |
|
取得プロセスを使用してREDOログに記録されたデータベース変更を取得する際の基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド 取得プロセスの詳細は、「Oracle Streams取得プロセスによる暗黙的取得」 サプリメンタル・ロギングなど、レプリケーション環境に固有の取得プロセスの詳細は、Oracle Streamsレプリケーション管理者ガイド |
|
アプリケーションによるメッセージの取得(明示的取得) |
アプリケーションによるメッセージの取得の概要は、「アプリケーションによる明示的取得」 アプリケーションによるメッセージの取得の基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド アプリケーションによるメッセージの取得の詳細は、Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイドを参照 |
取得と適用の複合による最適化 |
レプリケーション環境で取得プロセスから適用プロセスへデータベース変更をより効率的に送信することで、パフォーマンスを向上させる方法の詳細は、「取得と適用の複合による最適化」 |
データの比較および収束 |
2つの異なるデータベースでデータベース・オブジェクトを比較して、その相違点を収束する方法の基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド 2つの異なるデータベースでデータベース・オブジェクトを比較して、その相違点を収束する方法の詳細は、Oracle Streamsレプリケーション管理者ガイド |
レプリケートされた2つ以上の表で同じ行に対する変更がほぼ同時に行われた場合に発生する競合、および発生した競合の自動的な解決の基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド 競合と競合解決の詳細は、Oracle Streamsレプリケーション管理者ガイド |
|
アプリケーションによるメッセージのコンシューム(明示的コンシューム) |
アプリケーションによるメッセージのコンシュームの概要は、「手動デキューによる明示的コンシューム」 アプリケーションによるメッセージのコンシュームの基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド アプリケーションによるメッセージのコンシュームの詳細は、Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイド |
|
Oracle以外のデータベースの処理の基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド Oracle以外のデータベースの処理の詳細は、Oracle Streamsレプリケーション管理者ガイド |
高可用性 |
高可用性オプションの詳細は、Oracle Database高可用性概要 |
情報のプロビジョニング |
大量の情報を効率的に移動またはコピーする方法の詳細は、第29章「情報のプロビジョニングの概要」 |
|
2つ以上のデータベースでレプリケーション用にデータベース・オブジェクトを準備する場合の詳細は、Oracle Streamsレプリケーション管理者ガイド インスタンス化の詳細は、Oracle Streamsレプリケーション管理者ガイド |
論理変更レコード(LCR) |
Oracle Streamsでメッセージを使用してデータベース変更を記述する方法の詳細は、「論理変更レコード(LCR)」 |
|
|
Oracle Streamsのベスト・プラクティス |
Oracle Streamsレプリケーション管理者ガイド |
Oracle Streamsの機能 |
|
Oracle Streamsと他のOracle Databaseとの相互運用性 |
付録A「Oracle Streamsと他のデータベース・コンポーネントとの連携」 |
Oracle Streamsの制限事項 |
|
Oracle Streamsの用途 |
|
キュー間でのメッセージの送信の基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド 伝播の詳細は、「キュー間でのメッセージの伝播」 |
|
キューでのメッセージの格納方法の詳細は、「キュー」 キューの詳細は、Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイド |
|
ルールおよびOracle Streamsでのルールの使用の基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド ルールの一般情報については、第5章「ルール」 ルールに基づいてOracle Streamsクライアントの動作を決定する方法の詳細は、第6章「Oracle Streamsでのルールの使用方法」 |
|
データベース・オブジェクトの異なるレプリカをサポートするルールベースの変換の基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド ルールベースの変換の詳細は、第7章「ルールベースの変換」 |
|
同期取得を使用してデータベース変更を取得する方法の基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド 同期取得の詳細は、「同期取得による暗黙的取得」 |
|
取得されるデータベース変更にタグを使用して情報を追加する方法の基本情報については、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド タグの詳細は、Oracle Streamsレプリケーション管理者ガイド |
|
ユーザーおよびアプリケーションによって作成されてエンキューされるメッセージの基本情報については、「ユーザー・メッセージ」 ユーザー・メッセージの詳細は、Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイド |
設定できるOracle Streams環境には多くのタイプがあり、様々なオプションを使用して設定できます。表1-2に、Oracle Streams環境の設定に必要なドキュメントを示します。
表1-2 Oracle Streams環境の設定または拡張に関するドキュメント
手順 | 参照先 |
---|---|
1ステップのプロシージャを使用したOracle Streamsレプリケーション環境の設定 |
|
Oracle Enterprise Managerを使用したOracle Streamsレプリケーション環境の設定 |
Oracle Enterprise ManagerでのOracle Streamsの設定ウィザードのオンライン・ヘルプ Oracle Enterprise ManagerでのOracle Streamsの設定ウィザードの説明およびウィザードの開始手順は、Oracle Streamsレプリケーション管理者ガイド |
コンポーネントの個別構成によるOracle Streamsレプリケーション環境の設定 |
個々のコンポーネントを適切な順序で構成してOracle Streamsレプリケーション環境を設定する手順は、Oracle Streamsレプリケーション管理者ガイド 同期取得を使用してOracle Streamsレプリケーション環境を設定する手順の例は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド 次の例については、Oracle Streamsレプリケーション管理者ガイド
Oracle Streamsレプリケーション環境を設定できるパッケージのリファレンス情報は、Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス。これらのパッケージの詳細は、「Oracle提供のPL/SQLパッケージ」。 |
1ステップのプロシージャを使用した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 2日でデータ・レプリケーションおよび統合ガイド
メッセージング環境を設定する手順の詳細は、Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイド 「ANYDATAラッパーでのユーザー・メッセージ・ペイロードのラップおよびそのエンキュー」 「ANYDATAペイロードでラップされるペイロードのデキュー」 電子メール通知の設定の例は、「メッセージ・クライアントおよびメッセージ通知の構成」 メッセージ環境の設定に使用されるパッケージ( |
Oracle Streamsのベスト・プラクティス |
Oracle Streams環境の設定時のベスト・プラクティスについては、Oracle Streamsレプリケーション管理者ガイド |
|
|
|
Oracle Sterams環境は、Oracle提供のPL/SQLパッケージおよびOracle Enterprise Managerを使用して管理できます。表1-3に、Oracle Streams環境の管理に必要なドキュメントを示します。
表1-3 Oracle Streams環境の管理に関するドキュメント
管理の手順 | 参照先 |
---|---|
Oracle Enterprise Managerを使用した適用プロセスの起動、停止および設定の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド Oracle Enterprise Managerを使用した適用ハンドラと適用タグの管理および適用プロセスの削除の詳細は、Oracle Enterprise Managerのオンライン・ヘルプ Oracle提供パッケージを使用した適用プロセスの管理の詳細は、第 16章「 Oracle Streams情報コンシュームの管理」 レプリケーション環境でのOracle提供パッケージを使用した適用プロセスの管理の詳細は、Oracle Streamsレプリケーション管理者ガイド |
|
Oracle Enterprise Managerを使用した取得プロセスの起動と停止および取得プロセス・パラメータの設定の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド Oracle Enterprise Managerを使用した取得プロセスの先頭SCNまたは開始SCNの設定および取得プロセスの削除の詳細は、Oracle Enterprise Managerのオンライン・ヘルプ Oracle提供パッケージを使用した取得プロセスの管理の詳細は、「取得プロセスの管理」 サプリメンタル・ロギングの管理の詳細は、Oracle Streamsレプリケーション管理者ガイド |
|
Oracle StreamsデータベースのDBIDまたはグローバル名の変更 |
Oracle Streamsレプリケーション管理者ガイド |
データの比較および収束 |
|
競合の回避と競合解決の構成の詳細は、Oracle Streamsレプリケーション管理者ガイド |
|
Oracle Streamsでのエクスポート/インポート |
「Oracle Streams環境での全データベースのエクスポート/インポートの実行」 |
情報のプロビジョニング |
|
|
インスタンス化の実行の詳細は、Oracle Streamsレプリケーション管理者ガイド |
論理変更レコード(LCR) |
Oracle Streamsレプリケーション管理者ガイド |
Oracle Streamsのベスト・プラクティス |
Oracle Streams環境の管理に関する推奨事項の詳細は、Oracle Streamsレプリケーション管理者ガイド |
Oracle Streamsに関連するOracle提供パッケージ |
Oracle Streams環境を管理できるパッケージのリファレンス情報は、Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンス。これらのパッケージの概要は、「Oracle提供のPL/SQLパッケージ」。 |
ポイント・イン・タイム・リカバリおよびOracle Streams |
Oracle Streamsレプリケーション管理者ガイド |
Oracle Enterprise Managerを使用した伝播の有効化および無効化の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド Oracle Enterprise Managerを使用した伝播のスケジューリング、スケジュール解除および削除の詳細は、Oracle Enterprise Managerのオンライン・ヘルプ Oracle提供パッケージを使用した伝播の管理の詳細は、「Oracle Streamsの伝播および伝播ジョブの管理」 Oracle提供パッケージおよびその他の管理インタフェースを使用した伝播の管理の詳細は、Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイド |
|
Oracle Enterprise Managerを使用したキューおよびキュー表の変更の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド Oracle Enterprise Managerを使用したキュー、キュー表およびアドバンスト・キューイングの変換の管理の詳細は、Oracle Enterprise Managerのオンライン・ヘルプ Oracle提供パッケージおよびその他の管理インタフェースを使用したキューの管理の詳細は、Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイド |
|
Oracle Streams構成の削除 |
|
ソース・データベースの再同期化 |
Oracle Streamsレプリケーション管理者ガイド |
Oracle Enterprise Managerを使用したルールの管理の詳細は、Oracle Enterprise Managerのオンライン・ヘルプ Oracle提供パッケージを使用したルールの管理の詳細は、第17章「ルールの管理」 |
|
Oracle Enterprise Managerを使用したルールベースの変換の管理の詳細は、Oracle Enterprise Managerのオンライン・ヘルプ Oracle提供パッケージを使用したルールベースの変換の管理の詳細は、第18章「ルールベースの変換の管理」 |
|
Oracle提供パッケージを使用した同期取得の管理の詳細は、「同期取得の管理」 |
|
Oracle Streamsレプリケーション管理者ガイド |
|
トラブルシューティング |
Oracle Enterprise Managerを使用したOracle Streamsアラートへの対応と適用エラーの管理の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド Oracle Enterprise Managerを使用したOracle Streams環境のトラブルシューティングの詳細は、Oracle Enterprise Managerのオンライン・ヘルプ Oracle Streams環境のトラブルシューティングの一般情報は、第20章「Oracle Streams環境のトラブルシューティング」 Oracle Streamsレプリケーション環境のトラブルシューティングの詳細は、Oracle Streamsレプリケーション管理者ガイド |
使用不可能な宛先データベース |
使用不可能な宛先データベースをレプリケーション環境から分離し、使用可能になった時点で再びレプリケーション環境にマージする方法の詳細は、Oracle Streamsレプリケーション管理者ガイド |
Oracle Sterams環境は、主にOracle提供のPL/SQLパッケージ、データ・ディクショナリ・ビューおよびOracle Enterprise Managerを使用して管理できます。表1-4に、Oracle Streams環境の管理に必要なドキュメントを示します。
表1-4 Oracle Streams環境の監視に関するドキュメント
監視の手順 | 参照先 |
---|---|
Oracle Enterprise Managerを使用した適用プロセス・プロパティおよび統計情報の監視の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド Oracle Enterprise Managerを使用した適用プロセス・パラメータ、適用ハンドラおよび適用エラーの監視の詳細は、Oracle Enterprise Managerのオンライン・ヘルプ データ・ディクショナリ・ビューを使用した適用プロセスの監視の詳細は、第25章「Oracle Streams適用プロセスの監視」 レプリケーション環境でのデータ・ディクショナリ・ビューを使用した適用プロセスの監視の詳細は、Oracle Streamsレプリケーション管理者ガイド |
|
Oracle Enterprise Managerを使用した取得プロセス・プロパティおよび統計情報の監視の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド Oracle Enterprise Managerを使用した取得プロセス・パラメータの監視の詳細は、Oracle Enterprise Managerのオンライン・ヘルプ データ・ディクショナリ・ビューを使用した取得プロセスの監視の詳細は、「取得プロセスの監視」 データ・ディクショナリ・ビューを使用したサプリメンタル・ロギングの監視の詳細は、Oracle Streamsレプリケーション管理者ガイド |
|
取得と適用の複合による最適化 |
|
互換性 |
Oracle Streamsクライアントと互換性のないデータベース・オブジェクトの表示の詳細は、「Oracle Streams環境での互換性の監視」 |
データ・ディクショナリ・ビューを使用した更新競合ハンドラの表示の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド データ・ディクショナリ・ビューを使用した競合検出および更新競合ハンドラの監視の詳細は、Oracle Streamsレプリケーション管理者ガイド |
|
Oracle Streamsに関連するデータ・ディクショナリ・ビュー |
第21章「Oracle Streamsの静的データ・ディクショナリ・ビュー」 Oracle Databaseリファレンス |
情報のプロビジョニング |
|
|
Oracle Streamsレプリケーション管理者ガイド |
論理変更レコード(LCR) |
ストリームを介したLCRの追跡の詳細は、Oracle Streamsレプリケーション管理者ガイド |
メッセージ機能 |
Oracle Enterprise Managerを使用したキュー、キュー統計およびキュー・サブスクライバの表示の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド データ・ディクショナリ・ビューを使用したメッセージ環境の監視の詳細は、Oracle Streamsアドバンスト・キューイング・ユーザーズ・ガイド |
Oracle Streams管理者 |
「Oracle Streams管理者とその他のOracle Streamsユーザーの監視」 |
|
|
Oracle Streamsのトポロジおよびパフォーマンス統計 |
第22章「Oracle Streamsのトポロジおよびパフォーマンスの監視」 |
Oracle Enterprise Managerを使用した伝播プロパティおよび統計の監視の詳細は、Oracle Database 2日でデータ・レプリケーションおよび統合ガイド データ・ディクショナリ・ビューを使用した伝播の監視の詳細は、「Oracle Streamsの伝播および伝播ジョブの監視」 |
|
Oracle Enterprise Managerを使用したルールの監視の詳細は、Oracle Enterprise Managerのオンライン・ヘルプ データ・ディクショナリ・ビューを使用したルールの監視の詳細は、第26章「ルールの監視」 |
|
データ・ディクショナリ・ビューを使用したルールベースの変換の監視の詳細は、第27章「ルールベースの変換の監視」 |
|
データ・ディクショナリ・ビューを使用した同期取得の監視の詳細は、「同期取得の監視」 注意: 現在、Oracle Enterprise Managerでは同期取得の監視はサポートされていません。 |
|
データ・ディクショナリ・ビューを使用したタグの監視の詳細は、Oracle Streamsレプリケーション管理者ガイド |
Oracle Streamsを使用すると、データベースのアップグレードなどの1回のみの操作を最小限の停止時間で実行できます。表1-5は、Oracle Streamsを使用して1回のみの操作を実行する際に必要なドキュメントを示します。
表1-5 Oracle Streamsを使用したデータのアップグレードおよびメンテナンスに関するドキュメント
手順 | 参照先 |
---|---|
Oracle Streamsを使用したわずかな停止時間でのデータベースのアップグレード |
Oracle Streamsを使用したわずかな停止時間でのデータベースのアップグレードの詳細は、付録D「Oracle Streamsを使用したオンラインでのデータベースのアップグレード」 |
Oracle Streamsを使用したわずかな停止時間でのデータベースのメンテナンス操作の実行 |
Oracle Streamsを使用したわずかな停止時間でのデータベースのメンテナンス操作の詳細は、付録E「Oracle Streamsを使用したオンラインでのデータベースのメンテナンス」。データベースのメンテナンス操作には、異なるプラットフォームへのデータベースの移行、異なるキャラクタ・セットへのデータベースの移行、ユーザー作成アプリケーションへのアップグレードをサポートするためのデータベース・スキーマ・オブジェクトの変更、Oracle Databaseソフトウェアのパッチまたはパッチ・セットの適用が含まれます。 |