ヘッダーをスキップ
Oracle® Streams概要および管理
11gリリース2 (11.2)
B61351-03
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

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

Oracle Streamsパフォーマンス・アドバイザは、DBMS_STREAMS_ADVISOR_ADM PL/SQLパッケージと、データ・ディクショナリ・ビューのコレクションから構成されます。Oracle Streamsパフォーマンス・アドバイザを使用すると、Oracle Streams環境のトポロジおよびパフォーマンスを監視できます。Oracle Streamsのトポロジには、Oracle Streams環境のコンポーネント、コンポーネント間のリンク、取得からコンシュームへの情報フローに関する情報が含まれています。Oracle Streamsパフォーマンス・アドバイザは、Oracle Streamsコンポーネントの実行方法に関する情報も提供します。

次の各項では、Oracle Streamsパフォーマンス・アドバイザについて説明します。

Oracle Streamsのトポロジについて

Oracle Streamsを使用すると、複数のデータベース間でメッセージを送信できます。Oracle Streams環境では、次のタイプのメッセージを送信できます。

  • データベースの変更を含む論理変更レコード(LCR)

  • ユーザー定義に基づくカスタム情報を含むユーザー・メッセージ

Oracle Streamsのトポロジとは、Oracle Streams環境におけるデータベース、これらのデータベースに構成されたOracle Streamsコンポーネントおよびこれらのコンポーネント間のメッセージ・フローを表したものです。

環境内のメッセージは、別々のストリーム・パスを流れます。ストリーム・パスは、取得プロセス同期取得、またはアプリケーションがメッセージを生成してこれらをエンキューすると開始します。メッセージは、そのストリーム・パスで1つ以上の伝播およびキューを介して流れます。ストリーム・パスは、メッセージが適用プロセスメッセージ・クライアントまたはアプリケーションによってデキューされると終了します。

現在、Oracle Streamsのトポロジは、ストリーム・パスが適用プロセスで終了した場合のストリーム・パスに関する情報のみを収集します。Oracle Streamsのトポロジは、メッセージ・クライアントまたはアプリケーションがメッセージをデキューしたときに終了するストリーム・パスを追跡しません。

Oracle Streamsパフォーマンス・アドバイザについて

Oracle Streamsパフォーマンス・アドバイザは、DBMS_STREAMS_ADVISOR_ADM PL/SQLパッケージと、データ・ディクショナリ・ビューのコレクションから構成されます。DBMS_STREAMS_ADVISOR_ADMパッケージのANALYZE_CURRENT_PERFORMANCEプロシージャを使用すると、Oracle Streamsのトポロジに関する情報と、トポロジ内のOracle Streamsコンポーネントのパフォーマンスに関する情報を収集できます。

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

Oracle Streamsパフォーマンス・アドバイザのデータ・ディクショナリ・ビュー

Oracle Streamsパフォーマンス・アドバイザによって情報が収集されたら、次のデータ・ディクショナリ・ビューを問い合せることによって、それらを表示できます。

  • DBA_STREAMS_TP_COMPONENTには、各データベースの各Oracle Streamsコンポーネントに関する情報が含まれています。

  • DBA_STREAMS_TP_COMPONENT_LINKには、Oracle Streamsコンポーネント間でのメッセージ・フローの方法に関する情報が含まれています。

  • DBA_STREAMS_TP_COMPONENT_STATには、各Oracle Streamsコンポーネントに関する一時的なパフォーマンス統計およびセッション統計が含まれています。

  • DBA_STREAMS_TP_DATABASEには、Oracle Streamsコンポーネントを含む各データベースに関する情報が含まれています。

  • DBA_STREAMS_TP_PATH_BOTTLENECKには、ストリーム・パスのメッセージ・フローの速度を低下させる可能性のあるOracle Streamsコンポーネントに関する一時的な情報が含まれています。

  • DBA_STREAMS_TP_PATH_STATには、Oracle Streamsのトポロジ内に存在する各ストリーム・パスに関する一時的なパフォーマンス統計が含まれています。

トポロジの情報は、データ・ディクショナリ・ビューDBA_STREAMS_TP_DATABASEDBA_STREAMS_TP_COMPONENTおよびDBA_STREAMS_TP_COMPONENT_LINKに永続的に格納されます。

DBA_STREAMS_TP_COMPONENT_STATDBA_STREAMS_TP_PATH_BOTTLENECKおよびDBA_STREAMS_TP_PATH_STATには、一時的な情報が含まれます。これらのビュー内のデータの一部は、ANALYZE_CURRENT_PERFORMANCEプロシージャを実行するユーザー・セッションのためにのみ保持されます。このユーザー・セッションが終了すると、これらの一時的な情報は消去されます。

Oracle Streamsのコンポーネントおよび統計

DBMS_STREAMS_ADVISOR_ADMパッケージは、次のOracle Streamsコンポーネントに関する情報を収集します。

  • QUEUEは、メッセージを格納します。パッケージは、キューについて、次のコンポーネント・レベルの統計を収集します。

    • ENQUEUE RATE

    • SPILL RATE

    • CURRENT QUEUE SIZE

  • CAPTUREは、取得プロセスです。取得プロセスでは、REDOログにあるデータベース変更を取得し、変更を論理変更レコード(LCR)としてエンキューします。各取得プロセスには、次のサブコンポーネントがあります。

    • LOGMINER BUILDERは、ビルダー・サーバーです。

    • LOGMINER PREPARERは、プリペアラ・サーバーです。

    • LOGMINER READERは、リーダー・サーバーです。

    • CAPTURE SESSIONは、取得プロセス・セッションです。

    このパッケージは、各取得プロセス(CAPTURE)について次のコンポーネント・レベル統計を収集します。

    • CAPTURE RATE

    • ENQUEUE RATE

    • LATENCY

    このパッケージは、取得プロセスのサブコンポーネントについてセッション・レベル統計も収集します。

  • PROPAGATION SENDERは、ソース・キューから宛先キューへメッセージを送信します。このパッケージは、伝播送信者について次のコンポーネント・レベル統計を収集します。

    • SEND RATE

    • BANDWIDTH

    • LATENCY

    このパッケージは、伝播送信者についてセッション・レベル統計も収集します。

  • PROPAGATION RECEIVERは、伝播送信者によって送信されたメッセージを宛先キューにエンキューします。このパッケージは、伝播受信者についてセッション・レベル統計を収集します。

  • APPLY適用プロセスです。これらのコンポーネントは、メッセージを直接適用するか、メッセージを適用ハンドラに送信します。このタイプのコンポーネントには、次のサブコンポーネントがあります。

    • APPLY READERは、リーダー・サーバーです。

    • APPLY COORDINATORは、コーディネータ・プロセスです。

    • APPLY SERVERは、適用サーバーです。

    このパッケージは、このコンポーネント(APPLY)について次のコンポーネント・レベル統計を収集します。

    • MESSAGE APPLY RATE

    • TRANSACTION APPLY RATE

    • LATENCY

    このパッケージは、サブコンポーネントについてセッション・レベル統計も収集します。

パッケージがコンポーネントまたはサブコンポーネントについてセッション・レベル統計を収集する場合、このセッション・レベル統計には次のものが含まれます。

  • IDLEパーセンテージ

  • FLOW CONTROLパーセンテージ

  • 待機イベントのEVENTパーセンテージ


注意:

現在、DBMS_STREAMS_ADVISOR_ADMパッケージは、同期取得またはメッセージ・クライアントに関する情報を収集しません。


関連項目:


Oracle Streamsのトポロジのストリーム・パスについて

Oracle Streamsのトポロジのストリーム・パスは、ソースから宛先へのメッセージ・フローのことです。ストリーム・パスは、取得プロセス同期取得またはアプリケーションがメッセージキューにエンキューした場所から開始します。ストリーム・パスは、適用プロセスがメッセージをデキューした場所で終了します。ストリーム・パスは、複数のキューと伝播を介して適用プロセスに到達することがあります。したがって、単一のストリーム・パスが最後のコンポーネントに到達するまでに、複数のソース/宛先コンポーネント・ペアが生成される場合があります。

Oracle Streamsのトポロジは、それぞれのパスを簡単に監視できるように、各ストリーム・パスに番号を割り当てます。また、ストリーム・パスの2つの要素間の各リンクにも番号を割り当てます。この番号には、ストリーム・パス全体のリンクの位置が指定されます。

表23-1に、ストリーム・パスの例における各リンクの位置を示します。

表23-1 ストリーム・パスの例と各リンクの位置

始点コンポーネント 終点コンポーネント 位置

取得プロセス

キュー

1

キュー

伝播送信者

2

伝播送信者

伝播受信者

3

伝播受信者

キュー

4

キュー

適用プロセス

5


Oracle Streamsパフォーマンス・アドバイザは、Oracle Streams環境に関する情報を収集する際、各適用プロセスから開始して、その始点に戻りながら動作することによって、ストリーム・パスを追跡します。始点が取得プロセスの場合、Oracle Streamsパフォーマンス・アドバイザは、適用プロセスから取得プロセスへとパスを追跡します。メッセージをエンキューする同期取得またはアプリケーションが始点の場合、Oracle Streamsパフォーマンス・アドバイザは、適用プロセスから、メッセージがエンキューされるキューへとパスを追跡します。

次の各項では、レプリケーション環境の例とそれぞれのストリーム・パスについて説明します。


関連項目:

Oracle Streamsレプリケーション環境のベスト・プラクティスの詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照

Oracle Streams環境における個別のストリーム・パス

2つのデータベースを持つOracle Streams環境を考えてみます。各データベースは、取得プロセスによってレプリケートされたデータベース・オブジェクトに対する変更を取得して、その変更をもう一方のデータベースに送信します。これらの変更は、そこで適用プロセスによって適用されます。この環境におけるストリーム・パスは完全に別々のものです。

図23-1に、このタイプのOracle Streamsレプリケーション環境の例を示します。

図23-1 2つの個別のストリーム・パスが存在するOracle Streamsのトポロジ

図23-1の説明が続きます
「図23-1 2つの個別のストリーム・パスが存在するOracle Streamsのトポロジ」の説明

Oracle Streamsパフォーマンス・アドバイザは、各Oracle StreamsコンポーネントにコンポーネントIDを割り当て、各パスにパスIDを割り当てます。図23-1のOracle Streamsのトポロジは、次の情報を示しています。

  • Oracle Streams環境には、12のOracle Streamsコンポーネントがあります。

  • Oracle Streams環境には、2つのストリーム・パスがあります。

  • ストリーム・パス1は、コンポーネント1で始まり、コンポーネント6で終了します。

  • ストリーム・パス2は、コンポーネント7で始まり、コンポーネント12で終了します。

Oracle Streamsレプリケーション環境における共有ストリーム・パス

単一ソースによって生成された変更を適用する複数の適用プロセスがある場合は、1つのストリーム・パスが複数のストリーム・パスに分かれます。この場合、ストリーム・パスの一部は共有されますが、パスは2つ以上の異なるストリーム・パスに分かれます。

図23-2は、このタイプのOracle Streams環境を示しています。

図23-2 単一ソースに複数の適用プロセスが存在するOracle Streamsのトポロジ

図23-2の説明が続きます
「図23-2 単一ソースに複数の適用プロセスが存在するOracle Streamsのトポロジ」の説明

図23-2のOracle Streamsのトポロジには、次の情報が示されています。

  • Oracle Streams環境には、10のOracle Streamsコンポーネントがあります。

  • Oracle Streams環境には、2つのストリーム・パスがあります。

  • ストリーム・パス1は、コンポーネント1で始まり、コンポーネント7で終了します。

  • ストリーム・パス2は、コンポーネント1で始まり、コンポーネント10で終了します。

  • コンポーネント1とコンポーネント2の間のメッセージ・フローはパス1とパス2の両方にあります。

Oracle Streamsパフォーマンス・アドバイザによって収集される情報について

DBMS_STREAMS_ADVISOR_ADMパッケージのANALYZE_CURRENT_PERFORMANCEプロシージャは、Oracle StreamsのトポロジとOracle Streamsコンポーネントのパフォーマンスに関する情報を収集します。このプロシージャは、多数のデータ・ディクショナリ・ビューに情報を格納します。Oracle Streamsパフォーマンス・アドバイザを効果的に使用するには、プロシージャによる情報の収集方法と統計の計算方法を理解することが重要です。

このプロシージャは、Oracle Streams環境のスナップショットを取って、情報を収集し、統計を計算します。統計によっては、単一のスナップショットの情報のみで十分な場合があります。たとえば、キュー内の現在のメッセージ数を判断するために必要なスナップショットは1つのみです。ただし、他の統計を計算するには、2つのスナップショットを比較する必要があります。このような統計には、レート、帯域幅、イベントおよびフロー制御の各統計があります。このような統計を計算するため、ユーザー・セッションでの初回実行時には、2つのスナップショットが取られます。この後は、同じユーザー・セッションで実行するたびに1つのスナップショットを取り、前回の実行時に取得したスナップショットと比較します。

表23-2に、単一のユーザー・セッションでアドバイザが実行されるたびに、どのように情報が収集されるかを示します。

表23-2 Oracle Streamsパフォーマンス・アドバイザによるセッション内での情報の収集方法

アドバイザの実行 収集される情報

1

  1. 統計のスナップショットを取ります。

  2. 5秒以上待機します。

  3. 統計のスナップショットをもう1つ取ります。

  4. 最初のスナップショット・データと2番目のスナップショット・データを比較して、パフォーマンス統計を計算します。

2

  1. 統計のスナップショットを取ります。

  2. アドバイザの実行1の最後のスナップショットのデータと、アドバイザの実行2で取られたスナップショットを比較して、パフォーマンス統計を計算します。

3

  1. 統計のスナップショットを取ります。

  2. アドバイザの実行2のスナップショットのデータを、アドバイザの実行3で取られたスナップショットと比較して、パフォーマンス統計を計算します。


アドバイザの実行において最善の結果を得るために、次の基準を満たします。

  • アドバイザの実行で使用される2つのスナップショットが取られる期間は、できるだけ多くのOracle Streamsコンポーネントを有効化しておいてください。特に、取得プロセス、伝播および適用プロセスを有効化しておく必要があります。また、キューは起動しておく必要があり、データベース・リンクはアクティブである必要があります。

  • Oracle Streams環境でデータがレプリケートされる場合は、アドバイザの実行で使用される2つのスナップショットが取られる期間に、レプリケートされるデータベース・オブジェクトが、平均的か、または平均に近い頻度で更新されていることを確認します。Oracle Streamsレプリケーション環境のレプリケーション・アクティビティが典型的であるときにOracle Streamsパフォーマンス・アドバイザを実行すると、より正確な統計を収集できます。

  • メッセージがOracle Streams環境のアプリケーションによって送信される場合は、アドバイザの実行で使用される2つのスナップショットが取られる期間に、そのアプリケーションが、平均的か、または平均に近い頻度でメッセージを送信していることを確認します。Oracle Streamsメッセージング環境で送信されるメッセージ数が平均値であるときにOracle Streamsパフォーマンス・アドバイザを実行すると、より正確な統計を収集できます。

Oracle Streamsのトポロジおよびパフォーマンスに関する情報の収集

Oracle StreamsのトポロジおよびOracle Streamsパフォーマンスに関する情報を収集するには、次の手順を実行します。

  1. 情報の収集に使用するデータベースを指定します。このデータベースの管理ユーザーは、次の要件を満たしている必要があります。

    • このユーザーには、Oracle Streamsコンポーネントを含む各データベースへのデータベース・リンクに対するアクセス権が必要です。

    • ユーザーは、DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGEプロシージャを使用して権限を付与されている必要があります。各データベース・リンクは、DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGEプロシージャを使用して権限を付与されたリモート・データベースのユーザーに接続する必要があります。

      Oracle Streamsコンポーネントを使用して各データベースでOracle Streams管理者を構成すると、Oracle Streams管理者に必要な権限が割り当てられます。Oracle Streams管理者を作成する方法の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。

    ご使用の環境に、これらの要件を満たすデータベースがない場合は、データベースを1つ選択し、必要なデータベース・リンクを構成して、必要な権限をユーザーに付与してから処理を進めてください。

    Oracle Database 11g リリース2(11.2)データベースで実行されるOracle Streamsパフォーマンス・アドバイザでは、Oracle Database 10g リリース2(10.2)以上のデータベースを監視できます。リリース10.2より前のデータベースは監視できません。

  2. SQL*Plusでは、手順1で指定したデータベースに、手順1に示される要件を満たすユーザーとして接続します。

    たとえば、Oracle Streams管理者としてhub.example.comに接続します。

    SQL*Plusでデータベースに接続する方法については、『Oracle Database管理者ガイド』を参照してください。

  3. DBMS_STREAMS_ADVISOR_ADMパッケージのANALYZE_CURRENT_PERFORMANCEプロシージャを実行します。

    exec DBMS_STREAMS_ADVISOR_ADM.ANALYZE_CURRENT_PERFORMANCE;
    
  4. 必要に応じて、手順3のプロシージャを実行したセッションと同じセッションで、ANALYZE_CURRENT_PERFORMANCEプロシージャを複数回再実行します。

    exec DBMS_STREAMS_ADVISOR_ADM.ANALYZE_CURRENT_PERFORMANCE;
    
  5. 次の問合せを実行して、手順4で収集された情報に関するアドバイザの実行IDを識別します。

    SELECT DISTINCT ADVISOR_RUN_ID FROM DBA_STREAMS_TP_COMPONENT_STAT
       ORDER BY ADVISOR_RUN_ID;
    

    出力は次のようになります。

    ADVISOR_RUN_ID
    --------------
                 1
                 2
    

    Oracle Streamsパフォーマンス・アドバイザは、アドバイザの実行IDを各実行の統計に割り当てます。Oracle Streamsコンポーネントのパフォーマンス統計の表示の問合せで出力される、最後のアドバイザ実行IDの値を使用します。この例では、問合せのアドバイザ実行IDに対して2を使用します。

    Oracle Streamsパフォーマンス・アドバイザでは、ユーザー・セッションが終了すると、収集したパフォーマンス統計が削除される場合があります。したがって、ANALYZE_CURRENT_PERFORMANCEプロシージャを実行したセッションと同じセッションで、パフォーマンス統計の問合せを実行します。

Oracle Streams環境の現在のパフォーマンスを監視する必要がある場合は、必ず、これらの手順を完了してください。

ANALYZE_CURRENT_PERFORMANCEプロシージャは、Oracle Streams環境のいずれかのデータベースに新規Oracle Streamsコンポーネントが追加された場合にも実行する必要があります。このプロシージャを実行すると、新規コンポーネントに関する情報によって、Oracle Streamsのトポロジが更新されます。


関連項目:


Oracle Streamsのトポロジの表示とOracle Streamsのパフォーマンスの分析

この項では、Oracle Streamsのトポロジを表示して、Oracle Streamsコンポーネントのパフォーマンスを監視するために使用できるいくつかの問合せについて説明します。これらの問合せは、「Oracle Streamsのトポロジについて」で説明したビューを指定します。

この項の問合せは、任意のOracle Stream環境で実行できます。ただし、問合せで示される出力には、図23-3に示すOracle Streamsレプリケーション環境の例を使用します。

図23-3 Oracle Streamsレプリケーション環境の例

図23-3の説明が続きます
「図23-3 Oracle Streamsレプリケーション環境の例」の説明

『Oracle Database 2日でデータ・レプリケーションおよび統合ガイド』には、図23-3で示すOracle Streamsレプリケーション環境を構成するための手順が記載されています。この環境には、次の両方のタイプのストリーム・パスがあります。

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

Oracle Streamsのトポロジの表示

Oracle Streamsのトポロジを表示するには、まず最初にDBMS_STREAMS_ADVISOR_ADMパッケージを使用して、Oracle Streams環境に関する情報を収集する必要があります。「Oracle Streamsのトポロジおよびパフォーマンスに関する情報の収集」を参照してください。

次の各項では、Oracle Streamsのトポロジの様々なタイプの情報を表示する方法について説明します。

Oracle Streams環境でのデータベースの表示

Oracle Streams環境のデータベースに関する次の情報を表示できます。

  • 各データベースのグローバル名

  • 各データベースでOracle Streamsパフォーマンス・アドバイザが実行された最終時刻

  • 各データベースのバージョン番号

  • 各データベースの互換性レベル

  • 各データベースにOracle Diagnostics PackおよびOracle Tuning Packへのアクセス権があるかどうか

これらの情報を表示するには、次の問合せを実行します。

COLUMN GLOBAL_NAME HEADING 'Global Name' FORMAT A15
COLUMN LAST_QUERIED HEADING 'Last|Queried'
COLUMN VERSION HEADING 'Version' FORMAT A15
COLUMN COMPATIBILITY HEADING 'Compatibility' FORMAT A15
COLUMN MANAGEMENT_PACK_ACCESS HEADING 'Management Pack' FORMAT A20

SELECT GLOBAL_NAME, LAST_QUERIED, VERSION, COMPATIBILITY, MANAGEMENT_PACK_ACCESS
   FROM DBA_STREAMS_TP_DATABASE;

次の出力は、「Oracle Streamsのトポロジの表示とOracle Streamsのパフォーマンスの分析」で説明したOracle Streamsレプリケーション環境のデータベースを示しています。

                Last                                                           
Global Name     Queried   Version         Compatibility   Management Pack       
--------------- --------- --------------- --------------- --------------------  
HUB.EXAMPLE.COM 08-APR-08 11.1.0.7.0      11.1.0          DIAGNOSTIC+TUNING     
SPOKE1.EXAMPLE. 08-APR-08 11.1.0.7.0      11.1.0          DIAGNOSTIC+TUNING     
COM
SPOKE2.EXAMPLE. 08-APR-08 11.1.0.7.0      11.1.0          DIAGNOSTIC+TUNING     
COM

この出力は、Oracle Streams環境のデータベースに関する次の情報を示しています。

  • Global Name列は、データベースのグローバル名がhub.example.comspoke1.example.comおよびspoke2.example.comであることを示しています。

  • Last Queried列は、 2008年4月8日に、各データベースでOracle Streamsパフォーマンス・アドバイザが最後に実行されたことを示しています。

  • Version列は、各データベースのバージョンが11.1.0.7.0であることを示しています。

  • Compatibility列は、各データベースの互換性レベルが11.1.0であることを示しています。

  • Management Pack列は、各データベースに、Oracle Diagnostics PackおよびOracle Tuning Packへのアクセス権があることを示しています。


関連項目:

データベースの互換性の詳細は、『Oracle Databaseアップグレード・ガイド』を参照

各データベースでのOracle Streamsコンポーネントの表示

Oracle Streams環境のコンポーネントに関する次の情報を表示できます。

  • 各Oracle StreamsコンポーネントのコンポーネントID。Oracle Streamsのトポロジは、各コンポーネントにID番号を割り当て、この番号を使用してそのコンポーネントに関する情報と、そのコンポーネントを流れるストリーム・パスに関する情報を追跡します。

  • Oracle Streamsコンポーネントの名前。取得プロセスおよび適用プロセスについては、問合せにより各プロセスの名前がリストされます。キューについては、各キューの名前がリストされます。伝播については、2つのOracle StreamsコンポーネントがOracle Streamsのトポロジで追跡されます。

    • 伝播送信者の名前は、伝播のソース・キューおよびメッセージ送信先の宛先キューとデータベースになります。たとえば、spoke1.example.comデータベースのstrmadmin.destination_spoke1宛先キューにメッセージを送信するstrmadmin.source_hnsソース・キューを持つ伝播送信者は、次のように示されます。

      "STRMADMIN"."SOURCE_HNS"=>"STRMADMIN"."DESTINATION_SPOKE1"
         @SPOKE1.EXAMPLE.COM
      
    • 伝播受信者の名前は、メッセージ送信元のソース・キューとデータベースおよび伝播の宛先キューになります。たとえば、hub.example.comデータベースのstrmadmin.source_hnsソース・キューからメッセージを受信して、それらをstrmadmin.destination_spoke1宛先キューにエンキューする伝播受信者は、次のように示されます。

      "STRMADMIN"."SOURCE_HNS"@HUB.EXAMPLE.COM=>"STRMADMIN".
         "DESTINATION_SPOKE1"
      
  • Oracle Streamsコンポーネントのタイプ。次のタイプがあります。

    • CAPTURE: 取得プロセスを示します。

    • QUEUE: キューを示します。

    • PROPAGATION SENDER: 伝播送信者を示します。

    • PROPAGATION RECEIVER: 伝播受信者を示します。

    • APPLY: 適用プロセスを示します。

  • コンポーネントを含むデータベース

これらの情報を表示するには、次の問合せを実行します。

COLUMN COMPONENT_ID HEADING 'ID' FORMAT 999
COLUMN COMPONENT_NAME HEADING 'Name' FORMAT A43
COLUMN COMPONENT_TYPE HEADING 'Type' FORMAT A20
COLUMN COMPONENT_DB HEADING 'Database' FORMAT A10

SELECT COMPONENT_ID, COMPONENT_NAME, COMPONENT_TYPE, COMPONENT_DB
   FROM DBA_STREAMS_TP_COMPONENT
   ORDER BY COMPONENT_ID;

次の出力は、「Oracle Streamsのトポロジの表示とOracle Streamsのパフォーマンスの分析」で説明したOracle Streamsレプリケーション環境のコンポーネントを示しています。

  ID Name                                        Type                 Database 
---- ------------------------------------------- -------------------- ----------
   1 "STRMADMIN"."DESTINATION_SPOKE1"            QUEUE                HUB.EXAMPL
                                                                      E.COM
   2 "STRMADMIN"."DESTINATION_SPOKE2"            QUEUE                HUB.EXAMPL
                                                                      E.COM
   3 "STRMADMIN"."SOURCE_HNS"                    QUEUE                HUB.EXAMPL
                                                                      E.COM
   4 "STRMADMIN"."SOURCE_HNS"=>"STRMADMIN"."DEST PROPAGATION SENDER   HUB.EXAMPL
     INATION_SPOKE1"@SPOKE1.EXAMPLE.COM                               E.COM
   5 "STRMADMIN"."SOURCE_HNS"=>"STRMADMIN"."DEST PROPAGATION SENDER   HUB.EXAMPL
     INATION_SPOKE2"@SPOKE2.EXAMPLE.COM                               E.COM
   6 "STRMADMIN"."SOURCE_HNS"@SPOKE1.EXAMPLE.COM PROPAGATION RECEIVER HUB.EXAMPL
     =>"STRMADMIN"."DESTINATION_SPOKE1"                               E.COM
   7 "STRMADMIN"."SOURCE_HNS"@SPOKE2.EXAMPLE.COM PROPAGATION RECEIVER HUB.EXAMPL
     =>"STRMADMIN"."DESTINATION_SPOKE2"                               E.COM
   8 APPLY_SPOKE1                                APPLY                HUB.EXAMPL
                                                                      E.COM
   9 APPLY_SPOKE2                                APPLY                HUB.EXAMPL
                                                                      E.COM
  10 CAPTURE_HNS                                 CAPTURE              HUB.EXAMPL
                                                                      E.COM
  11 "STRMADMIN"."DESTINATION_SPOKE1"            QUEUE                SPOKE1.EXA
                                                                      MPLE.COM
  12 "STRMADMIN"."SOURCE_HNS"                    QUEUE                SPOKE1.EXA
                                                                      MPLE.COM
  13 "STRMADMIN"."SOURCE_HNS"=>"STRMADMIN"."DEST PROPAGATION SENDER   SPOKE1.EXA
     INATION_SPOKE1"@HUB.EXAMPLE.COM                                  MPLE.COM  
  14 "STRMADMIN"."SOURCE_HNS"@HUB.EXAMPLE.COM=>" PROPAGATION RECEIVER SPOKE1.EXA
     STRMADMIN"."DESTINATION_SPOKE1"                                  MPLE.COM
  15 APPLY_SPOKE1                                APPLY                SPOKE1.EXA
                                                                      MPLE.COM
  16 CAPTURE_HNS                                 CAPTURE              SPOKE1.EXA
                                                                      MPLE.COM
  17 "STRMADMIN"."DESTINATION_SPOKE2"            QUEUE                SPOKE2.EXA
                                                                      MPLE.COM
  18 "STRMADMIN"."SOURCE_HNS"                    QUEUE                SPOKE2.EXA
                                                                      MPLE.COM
  19 "STRMADMIN"."SOURCE_HNS"=>"STRMADMIN"."DEST PROPAGATION SENDER   SPOKE2.EXA
     INATION_SPOKE2"@HUB.EXAMPLE.COM                                  MPLE.COM  
  20 "STRMADMIN"."SOURCE_HNS"@HUB.EXAMPLE.COM=>" PROPAGATION RECEIVER SPOKE2.EXA
     STRMADMIN"."DESTINATION_SPOKE2"                                  MPLE.COM  
  21 APPLY_SPOKE2                                APPLY                SPOKE2.EXA
                                                                      MPLE.COM
  22 CAPTURE_HNS                                 CAPTURE              SPOKE2.EXA
                                                                      MPLE.COM

関連項目:


Oracle Streamsのトポロジでの各ストリーム・パスの表示

Oracle Streamsのトポロジのストリーム・パスに関する次の情報を表示できます。

  • パスID。Oracle Streamsのトポロジは、識別するストリーム・パスごとにID番号を割り当てます。このパスIDは、パスの各リンクに関連付けられます。単一のパスIDが関連付けられるコンポーネント・リンクの例には、次のものがあります。

    • 取得プロセスからキュー

    • キューから伝播送信者

    • 伝播送信者から伝播受信者

    • 伝播受信者からキュー

    • キューから適用プロセス

  • ソース・コンポーネントID。ソース・コンポーネントとは、メッセージが別のコンポーネントに送られるときの元のコンポーネントのことです。

  • ソース・コンポーネントの名前。問合せ出力でのコンポーネントの命名方法の詳細は、「各データベースでのOracle Streamsコンポーネントの表示」を参照してください。

  • 宛先コンポーネントID。宛先コンポーネントは、別のコンポーネントからメッセージを受信します。

  • 宛先コンポーネントの名前。

  • ストリーム・パス内の位置は、パスの特定リンクの場所を示します。たとえば、ある位置はパスの最初のリンク、パスの2番目のリンクなどの場合があります。

これらの情報を表示するには、次の問合せを実行します。

COLUMN PATH_ID HEADING 'Path|ID' FORMAT 9999
COLUMN SOURCE_COMPONENT_ID HEADING 'Source|Component|ID' FORMAT 9999
COLUMN SOURCE_COMPONENT_NAME HEADING 'Source|Component|Name' FORMAT A20
COLUMN DESTINATION_COMPONENT_ID HEADING 'Dest|Component|ID' FORMAT 9999
COLUMN DESTINATION_COMPONENT_NAME HEADING 'Dest|Component|Name' FORMAT A15
COLUMN POSITION HEADING 'Position' FORMAT 9999
 
SELECT PATH_ID, 
       SOURCE_COMPONENT_ID, 
       SOURCE_COMPONENT_NAME,
       DESTINATION_COMPONENT_ID, 
       DESTINATION_COMPONENT_NAME,
       POSITION 
  FROM DBA_STREAMS_TP_COMPONENT_LINK
  ORDER BY PATH_ID, POSITION;

次の出力は、「各データベースでのOracle Streamsコンポーネントの表示」に示されているコンポーネントのOracle Streamsのトポロジでのパスを示しています。

         Source Source                    Dest Dest                            
 Path Component Component            Component Component                        
   ID        ID Name                        ID Name            Position         
----- --------- -------------------- --------- --------------- --------         
    1        16 CAPTURE_HNS                 12 "STRMADMIN"."SO        1         
                                               URCE_HNS"                        
    1        12 "STRMADMIN"."SOURCE_        13 "STRMADMIN"."SO        2         
                HNS"                           URCE_HNS"=>"STR                  
                                               MADMIN"."DESTIN                  
                                               ATION_SPOKE1"@H                  
                                               UB.EXAMPLE.COM                   
    1        13 "STRMADMIN"."SOURCE_         6 "STRMADMIN"."SO        3         
                HNS"=>"STRMADMIN"."D           URCE_HNS"@SPOKE                  
                ESTINATION_SPOKE1"@H           1.EXAMPLE.COM=>                  
                UB.EXAMPLE.COM                 "STRMADMIN"."DES                 
                                               TINATION_SPOKE1"                 
    1         6 "STRMADMIN"."SOURCE_         1 "STRMADMIN"."DE        4         
                HNS"@SPOKE1.EXAMPLE.           STINATION_SPOKE                  
                COM=>"STRMADMIN"."DE           1"                               
                STINATION_SPOKE1"                                               
    1         1 "STRMADMIN"."DESTINA         8 APPLY_SPOKE1           5         
                TION_SPOKE1"                                                    
    2        22 CAPTURE_HNS                 18 "STRMADMIN"."SO        1         
                                               URCE_HNS"                        
    2        18 "STRMADMIN"."SOURCE_        19 "STRMADMIN"."SO        2         
                HNS"                           URCE_HNS"=>"STR                  
                                               MADMIN"."DESTIN                  
                                               ATION_SPOKE2"@H                  
                                               UB.EXAMPLE.COM                   
    2        19 "STRMADMIN"."SOURCE_         7 "STRMADMIN"."SO        3         
                HNS"=>"STRMADMIN"."D           URCE_HNS"@SPOKE                  
                ESTINATION_SPOKE2"@H           2.EXAMPLE.COM=>                  
                UB.EXAMPLE.COM                 "STRMADMIN"."DES                 
                                               TINATION_SPOKE2"                 
    2         7 "STRMADMIN"."SOURCE_         2 "STRMADMIN"."DE        4         
                HNS"@SPOKE2.EXAMPLE.           STINATION_SPOKE                  
                COM=>"STRMADMIN"."DE           2"                               
                STINATION_SPOKE2"                                               
    2         2 "STRMADMIN"."DESTINA         9 APPLY_SPOKE2           5         
                TION_SPOKE2"                                                    
    3        10 CAPTURE_HNS                  3 "STRMADMIN"."SO        1         
                                               URCE_HNS"                        
    3         3 "STRMADMIN"."SOURCE_         4 "STRMADMIN"."SO        2         
                HNS"                           URCE_HNS"=>"STR                  
                                               MADMIN"."DESTIN                  
                                               ATION_SPOKE1"@S                  
                                               POKE1.EXAMPLE.CO                 
                                               M                                
    3         4 "STRMADMIN"."SOURCE_        14 "STRMADMIN"."SO        3         
                HNS"=>"STRMADMIN"."D           URCE_HNS"@HUB.N                  
                ESTINATION_SPOKE1"@S           ET=>"STRMADMIN"                  
                POKE1.EXAMPLE.COM              ."DESTINATION_S                  
                                               POKE1"                           
    3        14 "STRMADMIN"."SOURCE_        11 "STRMADMIN"."DE        4         
                HNS"@HUB.EXAMPLE.COM           STINATION_SPOKE                  
                =>"STRMADMIN"."DESTI           1"                               
                NATION_SPOKE1"                                                  
    3        11 "STRMADMIN"."DESTINA        15 APPLY_SPOKE1           5         
                TION_SPOKE1"                                                    
    4        10 CAPTURE_HNS                  3 "STRMADMIN"."SO        1         
                                               URCE_HNS"                        
    4         3 "STRMADMIN"."SOURCE_         5 "STRMADMIN"."SO        2         
                HNS"                           URCE_HNS"=>"STR                  
                                               MADMIN"."DESTIN                  
                                               ATION_SPOKE2"@S                  
                                               POKE2.EXAMPLE.C                  
                                               OM                               
    4         5 "STRMADMIN"."SOURCE_        20 "STRMADMIN"."SO        3         
                HNS"=>"STRMADMIN"."D           URCE_HNS"@HUB.N                  
                ESTINATION_SPOKE2"@S           ET=>"STRMADMIN"                  
                POKE2.EXAMPLE.COM              ."DESTINATION_S                  
                                               POKE2"                           
    4        20 "STRMADMIN"."SOURCE_        17 "STRMADMIN"."DE        4         
                HNS"@HUB.EXAMPLE.COM           STINATION_SPOKE                  
                =>"STRMADMIN"."DESTI           2"                               
                NATION_SPOKE2"                                                  
    4        17 "STRMADMIN"."DESTINA        21 APPLY_SPOKE2           5         
                TION_SPOKE2"                                                    

Oracle Streamsコンポーネントのパフォーマンス統計の表示

Oracle Streamsパフォーマンス・アドバイザは、DBMS_STREAMS_ADVISOR_ADMパッケージおよびOracle Streamsのトポロジ・ビューで構成されます。Oracle Streamsのトポロジ・ビューを使用すると、使用する環境のOracle Streamsコンポーネントのパフォーマンス統計を表示および分析できます。

Oracle Streamsコンポーネントのパフォーマンス統計を表示するには、まず最初にDBMS_STREAMS_ADVISOR_ADMパッケージを使用して、Oracle Streams環境に関する情報を収集する必要があります。「Oracle Streamsのトポロジおよびパフォーマンスに関する情報の収集」を参照してください。

次の各項では、Oracle Streamsコンポーネントのパフォーマンス統計を表示する方法について説明します。


注意:

Oracle Streamsコンポーネントのパフォーマンスは、その環境で使用されるコンピュータ機器やネットワーク速度などの複数の要因によって変わります。

Oracle Streamsのトポロジのボトルネック・コンポーネントのチェック

ボトルネック・コンポーネントとは、最もビジーか、またはアイドル時間がほとんどないコンポーネントのことです。Oracle Streams環境のボトルネック・コンポーネントについて、次の情報を表示できます。

  • そのコンポーネントを含むパスのパスID。

  • 各Oracle StreamsコンポーネントのコンポーネントID。Oracle Streamsのトポロジは、各コンポーネントにID番号を割り当て、この番号を使用してそのコンポーネントに関する情報と、そのコンポーネントを流れるストリーム・パスに関する情報を追跡します。

  • Oracle Streamsコンポーネントの名前。問合せ出力でのコンポーネントの命名方法の詳細は、「各データベースでのOracle Streamsコンポーネントの表示」を参照してください。

  • Oracle Streamsコンポーネントのタイプ。次のタイプがあります。

  • コンポーネントを含むデータベース

次の問合せを実行すると、Oracle Streams環境のボトルネック・コンポーネントがチェックされます。

COLUMN PATH_ID HEADING 'Path ID' FORMAT 999
COLUMN COMPONENT_ID HEADING 'Component ID' FORMAT 999
COLUMN COMPONENT_NAME HEADING 'Name' FORMAT A20
COLUMN COMPONENT_TYPE HEADING 'Type' FORMAT A20
COLUMN COMPONENT_DB HEADING 'Database' FORMAT A15
 
SELECT PATH_ID,
       COMPONENT_ID, 
       COMPONENT_NAME, 
       COMPONENT_TYPE, 
       COMPONENT_DB
   FROM DBA_STREAMS_TP_PATH_BOTTLENECK
   WHERE BOTTLENECK_IDENTIFIED='YES' AND
         ADVISOR_RUN_ID=2
   ORDER BY PATH_ID, COMPONENT_ID;

この例では、WHERE句でADVISOR_RUN_ID2を使用しています。アドバイザ実行IDには、問い合せるアドバイザ実行を指定します。ADVISOR_RUN_IDの確認方法の詳細は、「Oracle Streamsのトポロジおよびパフォーマンスに関する情報の収集」を参照してください。

次の出力は、「各データベースでのOracle Streamsコンポーネントの表示」に示されているコンポーネントに関するボトルネック・コンポーネントを示しています。

Path ID Component ID Name                 Type                 Database        
------- ------------ -------------------- -------------------- ---------------  
      1            6 "STRMADMIN"."SOURCE_ PROPAGATION RECEIVER HUB.EXAMPLE.COM  
                     HNS"@SPOKE1.EXAMPLE.                                       
                     COM=>"STRMADMIN"."DE                                       
                     STINATION_SPOKE1"                                          
      3           10 CAPTURE_HNS          CAPTURE              HUB.EXAMPLE.COM  
      4           10 CAPTURE_HNS          CAPTURE              HUB.EXAMPLE.COM  

この問合せで結果が返されない場合は、使用している環境において、Oracle Streamsパフォーマンス・アドバイザがボトルネック・コンポーネントを特定しなかったということです。ただし、この問合せで1つ以上のボトルネック・コンポーネントが返された場合は、これらのコンポーネントのステータスをチェックしてください。これらが無効になっている場合は、それらを有効にできます。コンポーネントを有効化したら、パフォーマンスが向上するようにその環境を修正できるかどうかを調べます。

Oracle Streamsパフォーマンス・アドバイザでは、あるコンポーネントがボトルネック・コンポーネントかどうかを判断できないことがあります。このようなコンポーネントを表示するには、DBA_STREAMS_TP_PATH_BOTTLENECKビューを問い合せるときにBOTTLENECK_IDENTIFIEDNOに設定します。ADVISOR_RUN_REASON列の出力には、Oracle Streamsパフォーマンス・アドバイザが、あるコンポーネントがボトルネック・コンポーネントかどうかを判断できない理由が示されます。次の理由がADVISOR_RUN_REASON列の出力に示されます。

  • PRE-11.1 DATABASE EXISTS: そのコンポーネントが、Oracle Database 11g リリース1よりも前のデータベースを含むストリーム・パスにあることを示しています。このようなコンポーネントに対してはボトルネック分析は実行されません。

  • DIAGNOSTIC PACK REQUIRED: そのコンポーネントが、Oracle Diagnostics Packのないデータベースを含むストリーム・パスにあることを示しています。このようなコンポーネントに対してはボトルネック分析は実行されません。

  • NO BOTTLENECK IDENTIFIED: ストリーム・パスでボトルネックが特定できなかったか、またはストリーム・パスに2つ以上のボトルネック・コンポーネントが存在する可能性があることを意味します。

コンポーネント・レベル統計の表示

Oracle StreamsのトポロジのOracle Streamsコンポーネントの統計を表示できます。この項の問合せでは、コンポーネントごとの次の情報が表示されます。

  • コンポーネントが属するパスのID

  • Oracle Streamsコンポーネントの名前。

  • Oracle Streamsコンポーネントのタイプ。次のタイプがあります。

  • コンポーネントについて収集された統計

  • 統計の値および単位。たとえば、LATENCY統計は、値の数および単位のSECONDSを示します。TRANSACTION APPLY RATE統計は、値の数と単位のTRANSACTIONS PER SECONDを示します。

DBMS_STREAMS_ADVISOR_ADMパッケージのANALYZE_CURRENT_PERFORMANCEプロシージャは、この項の問合せによって返された統計を収集します。したがって、問合せによって返される統計は、プロシージャ実行時点の統計です。統計は自動的には更新されません。

表23-3は、この項の問合せによって返される各統計を説明しています。

表23-3 Oracle Streamsコンポーネントのコンポーネント・レベル統計

コンポーネント・タイプ 統計 単位 説明

CAPTURE

CAPTURE RATE

MESSAGES PER SECOND

取得プロセスによってスキャンされたREDOログのデータベース変更の1秒当たりの平均数。

取得プロセスは、そのルール・セットを満たすスキャン済変更を取得してエンキューします。

CAPTURE

ENQUEUE RATE

MESSAGES PER SECOND

取得プロセスによってエンキューされる1秒当たりの平均論理変更レコード(LCR)数。

CAPTURE

LATENCY

SECONDS

取得プロセスでREDOエントリが最後に使用可能になってから、取得プロセスが最後にスキャンしたREDOエントリがREDOログに記録されるまでの時間。

統計の目的は、変更がREDOログに記録されてから、そのREDOレコードが取得プロセスによってスキャンされるまでの時間を示すことです。

取得プロセスは、スキャンされた変更をエンキューする場合もしない場合もあります。取得プロセスは、変更がそのルール・セットを満たす場合にのみ変更をエンキューします。

PROPAGATION SENDER

SEND RATE

MESSAGES PER SECOND

伝播送信者によって送信された1秒当たりの平均メッセージ数。

PROPAGATION SENDER

BANDWIDTH

BYTES PER SECOND

伝播送信者によって送信された1秒当たりの平均バイト数。

PROPAGATION SENDER

LATENCY

SECONDS

メッセージがソース・データベースで作成されてから、伝播送信者によって宛先キューに送信されるまでの時間。

示される値は、伝播送信者によってソース・キューから宛先キューへ送信された単一のメッセージについてのものです。このメッセージは、ANALYZE_CURRENT_PERFORMANCEプロシージャが実行されたときに最後に伝播送信者によって送信されたのメッセージです。

伝播によって送信されたメッセージのタイプによって、メッセージの作成時間は次のいずれかになります。

APPLY

MESSAGE APPLY RATE

MESSAGES PER SECOND

適用プロセスによって1秒当たりに適用される平均メッセージ数。

取得LCRまたは永続LCRは、次のいずれかの方法で適用できます。

  • 適用プロセスが、LCRでカプセル化された変更をデータベース・オブジェクトに対して実行します。

  • 適用プロセスが、LCRを適用ハンドラに渡します。

  • LCRでエラーが発生した場合、適用プロセスがそのLCRをエラー・キューへ送信します。

永続ユーザー・メッセージは、次のいずれかの方法で適用できます。

  • 適用プロセスが、メッセージをメッセージ・ハンドラへ送信します。

  • LCRでエラーが発生した場合、適用プロセスがメッセージをエラー・キューへ送信します。

APPLY

TRANSACTION APPLY RATE

TRANSACTIONS PER SECOND

適用プロセスによって適用された1秒当たりの平均トランザクション数。トランザクションには通常、複数のメッセージが含まれます。

取得LCRまたは永続LCRを含むトランザクションは、次のいずれかの方法で適用できます。

  • 適用プロセスが、トランザクション内のすべての変更を実行して、トランザクションをコミットします。

  • 適用プロセスは、トランザクション内のすべてのLCRを適用ハンドラに渡します。

  • LCRでエラーが発生した場合、適用プロセスがトランザクションとその中のすべてのLCRをエラー・キューへ送信します。

永続ユーザー・メッセージを含むトランザクションは、次のいずれかの方法で適用できます。

  • 適用プロセスは、トランザクション内のすべてのメッセージをメッセージ・ハンドラに渡します。

  • LCRでエラーが発生した場合、適用プロセスがトランザクション内のすべてのメッセージをエラー・キューへ送信します。

APPLY

LATENCY

SECONDS

適用プロセスの場合、メッセージがソース・データベースで作成されてから、適用プロセスによって宛先データベースで適用されるまでの時間。

示される値は、適用プロセスによって適用された単一メッセージについてのものです。このメッセージは、ANALYZE_CURRENT_PERFORMANCEプロシージャが実行されたときに最後に適用されたメッセージです。

適用されたメッセージのタイプによって、メッセージの作成時間は次のいずれかになります。

  • 取得LCRの場合は、データベース変更のREDOエントリが記録された時間

  • 永続LCRの場合は、LCRが作成された時間

  • ユーザー・メッセージの場合は、メッセージがエンキューされた時間

QUEUE

ENQUEUE RATE

MESSAGES PER SECOND

キューにエンキューされた1秒当たりの平均メッセージ数。

QUEUE

SPILL RATE

MESSAGES PER SECOND

バッファ・キューからキュー表にオーバーフローした1秒当たりの平均メッセージ数。

QUEUE

CURRENT QUEUE SIZE

NUMBER OF MESSAGES

ANALYZE_CURRENT_PERFORMANCEプロシージャ実行時のキュー内のメッセージ数。

CAPTUREPROPAGATION SENDERPROPAGATION RECEIVERおよびAPPLY

EVENT(最上位待機イベント)

PERCENT

Oracle Streamsコンポーネントが、待機イベントが原因で待機に費やす時間のパーセンテージ。

Oracle Streamsパフォーマンス・アドバイザは、コンポーネントごとに上位3つのイベントに関する情報のみを収集します。

たとえば、取得プロセスは、REDOログ・ファイルが使用可能になるまで待機する場合があります。


次に、これらのパフォーマンス統計についての一般的な考慮事項を示します。

  • レート、帯域幅およびイベント統計については、同じユーザー・セッションのANALYZE_CURRENT_PERFORMANCEプロシージャによって使用される2つのスナップショット間の時間差として期間が計算されます。スナップショットの詳細は、「Oracle Streamsパフォーマンス・アドバイザによって収集される情報について」を参照してください。ユーザー・セッションが終了すると、レート、帯域幅およびイベント統計は削除されます。

  • 待機時間統計が-1秒の場合は、ANALYZE_CURRENT_PERFORMANCEプロシージャは実行時にコンポーネントの統計を収集できなかったということです。ほとんどの場合、この結果は、プロシージャの実行時にコンポーネントが無効であったことを示します。たとえば、適用プロセスのLATENCY統計が-1の場合は、コンポーネントが、ANALYZE_CURRENT_PERFORMANCEプロシージャの実行時に無効だったと考えられます。

Oracle Streamsのトポロジのコンポーネントのパフォーマンス統計を表示するには、次の問合せを実行します。

COLUMN PATH_ID HEADING 'Path|ID' FORMAT 999
COLUMN COMPONENT_ID HEADING 'Component|ID' FORMAT 999
COLUMN COMPONENT_NAME HEADING 'Name' FORMAT A20
COLUMN COMPONENT_TYPE HEADING 'Type' FORMAT A12
COLUMN STATISTIC_NAME HEADING 'Statistic' FORMAT A15
COLUMN STATISTIC_VALUE HEADING 'Value' FORMAT 99999999999.99
COLUMN STATISTIC_UNIT HEADING 'Unit' FORMAT A15 

SELECT DISTINCT
       cp.PATH_ID,
       cs.COMPONENT_ID,
       cs.COMPONENT_NAME,
       cs.COMPONENT_TYPE,
       cs.STATISTIC_NAME,
       cs.STATISTIC_VALUE,
       cs.STATISTIC_UNIT
   FROM DBA_STREAMS_TP_COMPONENT_STAT  cs,
        (SELECT PATH_ID, SOURCE_COMPONENT_ID AS COMPONENT_ID
        FROM DBA_STREAMS_TP_COMPONENT_LINK
        UNION
        SELECT PATH_ID, DESTINATION_COMPONENT_ID AS COMPONENT_ID
        FROM DBA_STREAMS_TP_COMPONENT_LINK) cp
   WHERE cs.ADVISOR_RUN_ID = 2 AND
         cs.SESSION_ID IS NULL AND
         cs.SESSION_SERIAL# IS NULL AND
         cs.COMPONENT_ID = cp.COMPONENT_ID
   ORDER BY PATH_ID, COMPONENT_ID, COMPONENT_NAME, COMPONENT_TYPE, STATISTIC_NAME;

この例では、WHERE句でADVISOR_RUN_ID2を使用しています。アドバイザ実行IDには、問い合せるアドバイザ実行を指定します。ADVISOR_RUN_IDの確認方法の詳細は、「Oracle Streamsのトポロジおよびパフォーマンスに関する情報の収集」を参照してください。

次の出力は、「各データベースでのOracle Streamsコンポーネントの表示」に示されているコンポーネントについてのパフォーマンス統計の一部を示しています。具体的には、ストリーム・パス 1およびストリーム・パス 3のコンポーネントのパフォーマンス統計を示しています。

Path Component                                                                                  
  ID         ID Name                 Type         Statistic                 Value Unit           
---- ---------- -------------------- ------------ --------------- --------------- ---------------
   1          1 "STRMADMIN"."DESTINA QUEUE        CURRENT QUEUE S             .00 NUMBER OF MESSA
                TION_SPOKE1"                      IZE                             GES            
   1          1 "STRMADMIN"."DESTINA QUEUE        ENQUEUE RATE            2573.21 MESSAGES PER SE
                TION_SPOKE1"                                                      COND           
   1          1 "STRMADMIN"."DESTINA QUEUE        SPILL RATE                  .00 MESSAGES PER SE
                TION_SPOKE1"                                                      COND           
   1          6 "STRMADMIN"."SOURCE_ PROPAGATION  EVENT: CPU + Wa           32.55 PERCENT        
                HNS"@SPOKE1.EXAMPLE. RECEIVER     it for CPU                                     
                COM=>"STRMADMIN"."DE                                                             
                STINATION_SPOKE1"                                                                
   1          6 "STRMADMIN"."SOURCE_ PROPAGATION  EVENT: SQL*Net            23.62 PERCENT        
                HNS"@SPOKE1.EXAMPLE. RECEIVER     more data from                                 
                COM=>"STRMADMIN"."DE              client                                         
                STINATION_SPOKE1"                                                                
   1          6 "STRMADMIN"."SOURCE_ PROPAGATION  EVENT: latch: r            2.10 PERCENT        
                HNS"@SPOKE1.EXAMPLE. RECEIVER     ow cache object                                
                COM=>"STRMADMIN"."DE              s                                              
                STINATION_SPOKE1"                                                                
   1          8 APPLY_SPOKE1         APPLY        EVENT: CPU + Wa           23.10 PERCENT        
                                                  it for CPU                                     
   1          8 APPLY_SPOKE1         APPLY        EVENT: latch: r            1.31 PERCENT        
                                                  ow cache object                                
                                                  s                                              
   1          8 APPLY_SPOKE1         APPLY        EVENT: latch: s            1.57 PERCENT        
                                                  hared pool                                     
   1          8 APPLY_SPOKE1         APPLY        LATENCY                    2.13 SECONDS        
   1          8 APPLY_SPOKE1         APPLY        MESSAGE APPLY R        10004.00 MESSAGES PER SE
                                                  ATE                             COND           
   1          8 APPLY_SPOKE1         APPLY        TRANSACTION APP          100.00 TRANSACTIONS PE
                                                  LY RATE                         R SECOND       
   1         12 "STRMADMIN"."SOURCE_ QUEUE        CURRENT QUEUE S             .00 NUMBER OF MESSA
                HNS"                              IZE                             GES            
   1         12 "STRMADMIN"."SOURCE_ QUEUE        ENQUEUE RATE            9932.00 MESSAGES PER SE
                HNS"                                                              COND           
                                                                                                 
   1         12 "STRMADMIN"."SOURCE_ QUEUE        SPILL RATE                  .00 MESSAGES PER SE
                HNS"                                                              COND           
   1         13 "STRMADMIN"."SOURCE_ PROPAGATION  BANDWIDTH              32992.96 BYTES PER SECON
                HNS"=>"STRMADMIN"."D SENDER                                       D              
                ESTINATION_SPOKE1"@H                                                             
                UB.EXAMPLE.COM                                                                   
   1         13 "STRMADMIN"."SOURCE_ PROPAGATION  EVENT: CPU + Wa           35.96 PERCENT        
                HNS"=>"STRMADMIN"."D SENDER       it for CPU                                     
                ESTINATION_SPOKE1"@H                                                             
                UB.EXAMPLE.COM                                                                   
   1         13 "STRMADMIN"."SOURCE_ PROPAGATION  EVENT: SQL*Net              .26 PERCENT        
                HNS"=>"STRMADMIN"."D SENDER       message to dbli                                
                ESTINATION_SPOKE1"@H              nk                                             
                UB.EXAMPLE.COM                                                                   
   1         13 "STRMADMIN"."SOURCE_ PROPAGATION  EVENT: latch: r             .26 PERCENT        
                HNS"=>"STRMADMIN"."D SENDER       ow cache object                                
                ESTINATION_SPOKE1"@H              s                                              
                UB.EXAMPLE.COM                                                                   
   1         13 "STRMADMIN"."SOURCE_ PROPAGATION  LATENCY                    4.00 SECONDS        
                HNS"=>"STRMADMIN"."D SENDER                                                      
                ESTINATION_SPOKE1"@H                                                             
                UB.EXAMPLE.COM                                                                   
   1         13 "STRMADMIN"."SOURCE_ PROPAGATION  SEND RATE               2568.00 MESSAGES PER SE
                HNS"=>"STRMADMIN"."D SENDER                                       COND           
                ESTINATION_SPOKE1"@H                                                             
                UB.EXAMPLE.COM                                                                   
   1         16 CAPTURE_HNS          CAPTURE      CAPTURE RATE           10464.00 MESSAGES PER SE
                                                                                  COND           
   1         16 CAPTURE_HNS          CAPTURE      ENQUEUE RATE           10002.00 MESSAGES PER SE
                                                                                  COND           
   1         16 CAPTURE_HNS          CAPTURE      EVENT: CPU + Wa           11.02 PERCENT        
                                                  it for CPU                                     
   1         16 CAPTURE_HNS          CAPTURE      EVENT: CPU + Wa           35.96 PERCENT        
                                                  it for CPU                                     
   1         16 CAPTURE_HNS          CAPTURE      EVENT: SQL*Net             5.51 PERCENT        
                                                  message from db                                
                                                  link                                           
   1         16 CAPTURE_HNS          CAPTURE      LATENCY                    2.65 SECONDS        
.
.
.

注意:

この出力は、説明のみを目的としています。実際のパフォーマンス特性は、個々の構成および条件によって異なります。

この出力は、「各データベースでのOracle Streamsコンポーネントの表示」および「Oracle Streamsのトポロジでの各ストリーム・パスの表示」の問合せに対する出力とともに分析できます。


関連項目:


セッション・レベル統計の表示

Oracle Streamsコンポーネントのセッション・レベル統計を表示できます。この項の問合せでは、それぞれのセッション・レベル統計についての次の情報が表示されます。

  • Oracle Streamsコンポーネントの名前。

  • Oracle Streamsコンポーネントのタイプ。次のタイプがあります。

  • サブコンポーネントのタイプ。取得プロセスおよび適用プロセスにのみサブコンポーネントがあります。

    取得プロセスには、次のサブコンポーネント・タイプがあります。

    • LOGMINER READER: 取得プロセスのビルダー・サーバーを示します。

    • LOGMINER PREPARER取得プロセスのプリペアラ・サーバーを示します。

    • LOGMINER BUILDER取得プロセスのリーダー・サーバーを示します。

    • CAPTURE SESSION: 取得プロセス・セッションを示します。

    適用プロセスには、次のサブコンポーネント・タイプがあります。

    • PROPAGATION SENDER+RECEIVER: 取得と適用の複合による最適化でLCRを取得プロセスから適用プロセスに直接送信します。

    • APPLY READER: リーダー・サーバーを示します。

    • APPLY COORDINATOR: コーディネータ・プロセスを示します。

    • APPLY SERVER: リーダー・サーバーを示します。

  • コンポーネントについて収集された統計

  • 統計の値および単位。セッション・レベル統計は、単位のPERCENTを示します。この値は、IDLEFLOW CONTROLのための一時停止、EVENTの待機のいずれかに費やされた時間のパーセンテージです。

DBMS_STREAMS_ADVISOR_ADMパッケージのANALYZE_CURRENT_PERFORMANCEプロシージャは、この項の問合せによって返された統計を収集します。したがって、問合せによって返される統計は、プロシージャ実行時点の統計です。統計は自動的には更新されません。

表23-4は、この項の問合せによって返される各統計を説明しています。

表23-4 Oracle Streamsコンポーネントのセッション・レベル統計

統計 単位 説明

IDLE

PERCENT

セッションがアイドル状態で費やした時間のパーセンテージ。アイドル状態のセッションでは、何の処理も実行しません。

FLOW CONTROL

PERCENT

セッションがフロー制御のために一時停止した時間のパーセンテージ。フロー制御の詳細は、「取得プロセスの状態」を参照してください。

EVENT(最上位待機イベント)

PERCENT

セッションが、待機イベントが原因で待機に費やす時間のパーセンテージ。

Oracle Streamsパフォーマンス・アドバイザは、セッションごとに上位3つのイベントに関する情報のみを収集します。

たとえば、適用サーバーは、依存するトランザクションが適用されるまで待機してから、そのトランザクションを適用する場合があります。


フロー制御およびイベント統計については、同じユーザー・セッションのANALYZE_CURRENT_PERFORMANCEプロシージャによって使用される2つのスナップショット間の時間差として期間が計算されます。スナップショットの詳細は、「Oracle Streamsパフォーマンス・アドバイザによって収集される情報について」を参照してください。ユーザー・セッションが終了すると、フロー制御およびイベント統計は消去されます。

Oracle Streamsのトポロジのコンポーネントのセッション・レベル・パフォーマンス統計を表示するには、次の問合せを実行します。

COLUMN PATH_ID HEADING 'Path|ID' FORMAT 999
COLUMN COMPONENT_ID HEADING 'Component|ID' FORMAT 999
COLUMN COMPONENT_NAME HEADING 'Component|Name' FORMAT A20
COLUMN COMPONENT_TYPE HEADING 'Component|Type' FORMAT A10
COLUMN SUB_COMPONENT_TYPE HEADING 'Subcomponent|Type' FORMAT A17
COLUMN STATISTIC_NAME HEADING 'Statistic' FORMAT A15
COLUMN STATISTIC_VALUE HEADING 'Value' FORMAT 999.99
COLUMN STATISTIC_UNIT HEADING 'Unit' FORMAT A7
 
SELECT DISTINCT
       cp.PATH_ID,
       cs.COMPONENT_ID,
       cs.COMPONENT_NAME,
       cs.COMPONENT_TYPE,
       cs.SUB_COMPONENT_TYPE,
       cs.STATISTIC_NAME,
       cs.STATISTIC_VALUE,
       cs.STATISTIC_UNIT
   FROM DBA_STREAMS_TP_COMPONENT_STAT  cs,
        (SELECT PATH_ID, SOURCE_COMPONENT_ID AS COMPONENT_ID
        FROM DBA_STREAMS_TP_COMPONENT_LINK
        UNION
        SELECT PATH_ID, DESTINATION_COMPONENT_ID AS COMPONENT_ID
        FROM DBA_STREAMS_TP_COMPONENT_LINK) cp
   WHERE cs.ADVISOR_RUN_ID=2 AND
         cs.SESSION_ID IS NOT NULL AND
         cs.SESSION_SERIAL# IS NOT NULL AND
         cs.COMPONENT_ID = cp.COMPONENT_ID
   ORDER BY PATH_ID, COMPONENT_ID, COMPONENT_NAME, COMPONENT_TYPE, STATISTIC_NAME;

この例では、WHERE句でADVISOR_RUN_ID2を使用しています。アドバイザ実行IDには、問い合せるアドバイザ実行を指定します。ADVISOR_RUN_IDの確認方法の詳細は、「Oracle Streamsのトポロジおよびパフォーマンスに関する情報の収集」を参照してください。

次の出力は、「各データベースでのOracle Streamsコンポーネントの表示」に示されているコンポーネントについてのセッション・レベル・パフォーマンス統計の一部を示しています。具体的には、ストリーム・パス1およびストリーム・パス3のコンポーネントのセッション・レベル・パフォーマンス統計を示しています。

Path Component Component            Component  Subcomponent                                     
  ID        ID Name                 Type       Type              Statistic         Value Unit    
---- --------- -------------------- ---------- ----------------- --------------- ------- ------- 
   1         6 "STRMADMIN"."SOURCE_ PROPAGATIO                   EVENT: CPU + Wa   32.55 PERCENT 
               HNS"@SPOKE1.EXAMPLE. N RECEIVER                   it for CPU                      
               COM=>"STRMADMIN"."DE                                                              
               STINATIO N_SPOKE1"                                                                
   1         6 "STRMADMIN"."SOURCE_ PROPAGATIO                   EVENT: SQL*Net    23.62 PERCENT 
               HNS"@SPOKE1.EXAMPLE. N RECEIVER                   more data from                  
               COM=>"STRMADMIN"."DE                              client                          
               STINATION_SPOKE1"                                                                 
   1         6 "STRMADMIN"."SOURCE_ PROPAGATIO                   EVENT: latch: r    2.10 PERCENT 
               HNS"@SPOKE1.EXAMPLE. N RECEIVER                   ow cache object                 
               COM=>"STRMADMIN"."DE                              s                               
               STINATION_SPOKE1"                                                                 
   1         6 "STRMADMIN"."SOURCE_ PROPAGATIO                   FLOW CONTROL        .89 PERCENT 
               HNS"@SPOKE1.EXAMPLE. N RECEIVER                                                   
               COM=>"STRMADMIN"."DE                                                              
               STINATION_SPOKE1"                                                                 
   1         6 "STRMADMIN"."SOURCE_ PROPAGATIO                   IDLE              36.61 PERCENT 
               HNS"@SPOKE1.EXAMPLE. N RECEIVER                                                   
               COM=>"STRMADMIN"."DE                                                              
               STINATION_SPOKE1"                                                                 
   1         8 APPLY_SPOKE1         APPLY      APPLY READER      EVENT: CPU + Wa     .26 PERCENT 
                                                                 it for CPU                      
   1         8 APPLY_SPOKE1         APPLY      APPLY SERVER      EVENT: CPU + Wa   23.10 PERCENT 
                                                                 it for CPU                      
   1         8 APPLY_SPOKE1         APPLY      APPLY SERVER      EVENT: latch: r    1.31 PERCENT 
                                                                 ow cache object                 
                                                                 s                               
   1         8 APPLY_SPOKE1         APPLY      APPLY READER      EVENT: latch: s     .26 PERCENT 
                                                                 hared pool                      
   1         8 APPLY_SPOKE1         APPLY      APPLY SERVER      EVENT: latch: s    1.57 PERCENT 
                                                                 hared pool                      
   1         8 APPLY_SPOKE1         APPLY      APPLY COORDINATOR FLOW CONTROL        .00 PERCENT 
   1         8 APPLY_SPOKE1         APPLY      APPLY READER      FLOW CONTROL      10.76 PERCENT 
   1         8 APPLY_SPOKE1         APPLY      APPLY SERVER      FLOW CONTROL        .00 PERCENT 
   1         8 APPLY_SPOKE1         APPLY      APPLY COORDINATOR IDLE               6.21 PERCENT 
   1         8 APPLY_SPOKE1         APPLY      APPLY READER      IDLE               9.24 PERCENT 
   1         8 APPLY_SPOKE1         APPLY      APPLY SERVER      IDLE               8.53 PERCENT 
   1        13 "STRMADMIN"."SOURCE_ PROPAGATIO                   EVENT: CPU + Wa   21.65 PERCENT 
               HNS"=>"STRMADMIN"."D N SENDER                     it for CPU                      
               ESTINATION_SPOKE1"@H                                                              
               UB.EXAMPLE.COM                                                                    
   1        13 "STRMADMIN"."SOURCE_ PROPAGATIO                   EVENT: SQL*Net      .26 PERCENT 
               HNS"=>"STRMADMIN"."D N SENDER                     message to dbli                 
               ESTINATION_SPOKE1"@H                              nk                              
               UB.EXAMPLE.COM                                                                    
   1        13 "STRMADMIN"."SOURCE_ PROPAGATIO                   EVENT: latch: r     .26 PERCENT 
               HNS"=>"STRMADMIN"."D N SENDER                     ow cache object                 
               ESTINATION_SPOKE1"@H                              s                               
               UB.EXAMPLE.COM                                                                    
   1        13 "STRMADMIN"."SOURCE_ PROPAGATIO                   EVENT: latch: s     .26 PERCENT 
               HNS"=>"STRMADMIN"."D N SENDER                     hared pool                      
               ESTINATION_SPOKE1"@H                                                              
               UB.EXAMPLE.COM                                                                    
   1        13 "STRMADMIN"."SOURCE_ PROPAGATIO                   FLOW CONTROL       7.37 PERCENT 
               HNS"=>"STRMADMIN"."D N SENDER                                                     
               ESTINATION_SPOKE1"@H                                                              
               UB.EXAMPLE.COM                                                                    
   1        13 "STRMADMIN"."SOURCE_ PROPAGATIO                   IDLE              67.41 PERCENT 
               HNS"=>"STRMADMIN"."D N SENDER                                                     
               ESTINATION_SPOKE1"@H                                                              
               UB.EXAMPLE.COM                                                                    
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER READER   EVENT: ARCH wai     .26 PERCENT 
                                                                 t on c/f tx acq                 
                                                                 uire 2                          
   1        16 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   EVENT: CPU + Wa   35.96 PERCENT 
                                                                 it for CPU                      
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER BUILDER  EVENT: CPU + Wa     .26 PERCENT 
                                                                 it for CPU                      
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER PREPARER EVENT: CPU + Wa   11.02 PERCENT 
                                                                 it for CPU                      
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER READER   EVENT: CPU + Wa     .26 PERCENT 
                                                                 it for CPU                      
   1        16 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   EVENT: SQL*Net     5.51 PERCENT 
                                                                 message from db                 
                                                                 link                            
   1        16 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   EVENT: SQL*Net      .26 PERCENT 
                                                                 message to dbli                 
                                                                 nk                              
   1        16 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   EVENT: latch: r     .26 PERCENT 
                                                                 ow cache object                 
                                                                 s                               
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER BUILDER  EVENT: latch: r    1.84 PERCENT 
                                                                 ow cache object                 
                                                                 s                               
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER PREPARER EVENT: latch: r     .79 PERCENT 
                                                                 ow cache object                 
                                                                 s                               
   1        16 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   EVENT: latch: s     .26 PERCENT 
                                                                 hared pool                      
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER READER   EVENT: latch: s     .79 PERCENT 
                                                                 hared pool                      
   1        16 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   FLOW CONTROL      16.27 PERCENT 
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER BUILDER  FLOW CONTROL        .00 PERCENT 
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER PREPARER FLOW CONTROL        .00 PERCENT 
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER READER   FLOW CONTROL        .00 PERCENT 
   1        16 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   IDLE              41.47 PERCENT 
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER BUILDER  IDLE              97.90 PERCENT 
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER PREPARER IDLE              88.19 PERCENT 
   1        16 CAPTURE_HNS          CAPTURE    LOGMINER READER   IDLE              98.69 PERCENT 
.
.
.
   3         4 "STRMADMIN"."SOURCE_ PROPAGATIO                   FLOW CONTROL       6.50 PERCENT 
               HNS"=>"STRMADMIN"."D N SENDER                                                     
               ESTINATION_SPOKE1"@S                                                              
               POKE1.EXAMPLE.COM                                                                 
   3         4 "STRMADMIN"."SOURCE_ PROPAGATIO                   IDLE              70.50 PERCENT 
               HNS"=>"STRMADMIN"."D N SENDER                                                     
               ESTINATION_SPOKE1"@S                                                              
               POKE1.EXAMPLE.COM                                                                 
   3        10 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   EVENT: ARCH wai   52.23 PERCENT 
                                                                 t for archivelo                 
                                                                 g lock                          
   3        10 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   EVENT: CPU + Wa    7.35 PERCENT 
                                                                 it for CPU                      
   3        10 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   EVENT: control      .52 PERCENT 
                                                                 file sequential                 
                                                                  read                           
   3        10 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   FLOW CONTROL       4.24 PERCENT 
   3        10 CAPTURE_HNS          CAPTURE    CAPTURE SESSION   IDLE               2.23 PERCENT 
   3        14 "STRMADMIN"."SOURCE_ PROPAGATIO                   EVENT: CPU + Wa    6.92 PERCENT 
               HNS"@HUB.EXAMPLE.COM N RECEIVER                   it for CPU                      
               =>"STRMADMIN"."DESTI                                                              
               NATION_SPOKE1"                                                                    
   3        14 "STRMADMIN"."SOURCE_ PROPAGATIO                   EVENT: latch: r    2.23 PERCENT 
               HNS"@HUB.EXAMPLE.COM N RECEIVER                   ow cache object                 
               =>"STRMADMIN"."DESTI                              s                               
               NATION_SPOKE1"                                                                    
   3        14 "STRMADMIN"."SOURCE_ PROPAGATIO                   EVENT: library     3.79 PERCENT 
               HNS"@HUB.EXAMPLE.COM N RECEIVER                   cache: mutex X                  
               =>"STRMADMIN"."DESTI                                                              
               NATION_SPOKE1"                                                                    
   3        14 "STRMADMIN"."SOURCE_ PROPAGATIO                   FLOW CONTROL        .67 PERCENT 
               HNS"@HUB.EXAMPLE.COM N RECEIVER                                                   
               =>"STRMADMIN"."DESTI                                                              
               NATION_SPOKE1"                                                                    
   3        14 "STRMADMIN"."SOURCE_ PROPAGATIO                   IDLE              85.04 PERCENT 
               HNS"@HUB.EXAMPLE.COM N RECEIVER                                                   
               =>"STRMADMIN"."DESTI                                                              
               NATION_SPOKE1"                                                                    
   3        15 APPLY_SPOKE1         APPLY      APPLY COORDINATOR EVENT: latch: r    4.20 PERCENT 
                                                                 ow cache object                 
                                                                 s                               
   3        15 APPLY_SPOKE1         APPLY      APPLY COORDINATOR EVENT: latch: s     .52 PERCENT 
                                                                 hared pool                      
   3        15 APPLY_SPOKE1         APPLY      APPLY READER      EVENT: latch: s     .26 PERCENT 
                                                                 hared pool                      
   3        15 APPLY_SPOKE1         APPLY      APPLY COORDINATOR FLOW CONTROL        .00 PERCENT 
   3        15 APPLY_SPOKE1         APPLY      APPLY READER      FLOW CONTROL       1.56 PERCENT 
   3        15 APPLY_SPOKE1         APPLY      APPLY SERVER      FLOW CONTROL        .00 PERCENT 
   3        15 APPLY_SPOKE1         APPLY      APPLY COORDINATOR IDLE              87.28 PERCENT 
   3        15 APPLY_SPOKE1         APPLY      APPLY READER      IDLE              96.88 PERCENT 
   3        15 APPLY_SPOKE1         APPLY      APPLY SERVER      IDLE              91.29 PERCENT 

注意:

  • この出力は、説明のみを目的としています。実際のパフォーマンス特性は、個々の構成および条件によって異なります。

  • 各セッションのセッションIDとシリアル番号は、DBA_STREAMS_TP_COMPONENT_STATビューの問合せにSESSION_IDおよびSESSION_SERIAL#の各列を、追加することによって表示できます。



関連項目:


Oracle Streams環境でのストリーム・パスの統計の表示

この項の問合せは、Oracle Streamsのトポロジ内の各ストリーム・パスに関する次の情報を表示します。

  • パスにOracle Streamsの最適化モードを使用するかどうかを示します。パスのOPTIMIZATION_MODE統計が0より大きい場合、パスは取得と適用の複合による最適化を使用します。OPTIMIZATION_MODE統計が0の場合、パスは取得と適用の複合による最適化を使用しません。

  • MESSAGE RATE値は、パスの開始からパスの終了までに送信される1秒当たりの平均メッセージ数を示します。

  • TRANSACTION RATE値は、パスの開始からパスの終了までに送信される1秒当たりの平均トランザクション数を示します。

これらの統計の期間は、同じユーザー・セッションのANALYZE_CURRENT_PERFORMANCEプロシージャによって使用される2つのスナップショット間の時間差として期間が計算されます。スナップショットの詳細は、「Oracle Streamsパフォーマンス・アドバイザによって収集される情報について」を参照してください。ユーザー・セッションが終了すると、これらの統計は消去されます。

これらの情報を表示するには、次の問合せを実行します。

COLUMN PATH_ID HEADING 'Path ID' FORMAT 999
COLUMN STATISTIC_NAME HEADING 'Statistic' FORMAT A25
COLUMN STATISTIC_VALUE HEADING 'Value' FORMAT 99999999.99
COLUMN STATISTIC_UNIT HEADING 'Unit' FORMAT A25

SELECT PATH_ID,
       STATISTIC_NAME,
       STATISTIC_VALUE,
       STATISTIC_UNIT
   FROM DBA_STREAMS_TP_PATH_STAT
   WHERE ADVISOR_RUN_ID=2
   ORDER BY PATH_ID, STATISTIC_NAME;

この例では、WHERE句でADVISOR_RUN_ID2を使用しています。アドバイザ実行IDには、問い合せるアドバイザ実行を指定します。ADVISOR_RUN_IDの確認方法の詳細は、「Oracle Streamsのトポロジおよびパフォーマンスに関する情報の収集」を参照してください。

次の出力は、「Oracle Streamsのトポロジでの各ストリーム・パスの表示」に示されているストリーム・パスのパス統計を示しています。

Path ID Statistic                        Value Unit
------- ------------------------- ------------ -------------------------
      1 OPTIMIZATION_MODE                 1.00 NUMBER
      1 MESSAGE RATE                  10004.00 MESSAGES PER SECOND
      1 TRANSACTION RATE                100.00 TRANSACTIONS PER SECOND
      2 OPTIMIZATION_MODE                 1.00 NUMBER
      2 MESSAGE RATE                  10028.25 MESSAGES PER SECOND
      2 TRANSACTION RATE                100.37 TRANSACTIONS PER SECOND
      3 OPTIMIZATION_MODE                 1.00 NUMBER
      3 MESSAGE RATE                   9623.20 MESSAGES PER SECOND
      3 TRANSACTION RATE                 97.10 TRANSACTIONS PER SECOND
      4 OPTIMIZATION_MODE                 1.00 NUMBER
      4 MESSAGE RATE                  10180.05 MESSAGES PER SECOND
      4 TRANSACTION RATE                 102.68 TRANSACTIONS PER SECOND

注意:

この出力は、説明のみを目的としています。実際のパフォーマンス特性は、個々の構成および条件によって異なります。

UTL_SPADVパッケージの使用

UTL_SPADVパッケージには、分散データベース環境のOracle Streamsコンポーネントの統計を収集して分析するサブプログラムがあります。このパッケージは、Oracle Streamsパフォーマンス・アドバイザを使用して統計を収集します。

COLLECT_STATSおよびSTART_MONITORINGプロシージャでは、Oracle Streamsパフォーマンス・アドバイザを使用して、分散データベース環境のOracle Streamsコンポーネントおよびサブコンポーネントに関する統計を収集します。SHOW_STATSプロシージャでは、統計を含む出力を生成します。出力は、スプレッドシートに簡単にインポートして分析できるように書式設定されます。

COLLECT_STATSプロシージャを使用すると、プロシージャを呼び出すたびに統計を収集できます。comp_stat_tableおよびpath_stat_tableパラメータでは、パフォーマンスの統計を格納する表を指定します。デフォルトでは、これらの表はそれぞれSTREAMS$_ADVISOR_COMP_STATおよびSTREAMS$_ADVISOR_PATH_STATです。

また、START_MONITORINGプロシージャを使用して、指定した間隔で継続的にOracle Streamsパフォーマンスを監視する監視ジョブを作成することもできます。監視ジョブでは、COLLECT_STATSプロシージャを使用して統計を収集します。START_MONITORINGプロシージャではSTREAMS$_PA_MONITORING表への移入を行い、この表のSHOW_STATS_TABLE列ではパフォーマンスの統計を含む表を指定します。監視ジョブを変更するにはALTER_MONITORINGプロシージャを使用し、監視ジョブを停止するにはSTOP_MONITORINGプロシージャを使用します。

これらのプロシージャは、Oracle Streamsパフォーマンス・アドバイザと同じ統計を収集します。これらの統計の詳細は、表23-3「Oracle Streamsコンポーネントのコンポーネント・レベル統計」および表23-4「Oracle Streamsコンポーネントのセッション・レベル統計」を参照してください。

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


関連項目:

UTL_SPADVパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照

UTL_SPADVパッケージを使用したOracle Streamsの統計の収集

UTL_SPADVパッケージを使用して統計を収集するには、次の手順を実行します。

  1. 情報の収集に使用するデータベースを指定します。このデータベースの管理ユーザーは、次の要件を満たしている必要があります。

    • このユーザーには、監視対象のOracle Streamsコンポーネントを含む各データベースへのデータベース・リンクに対するアクセス権が必要です。

    • ユーザーは、DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGEプロシージャを使用して権限を付与されている必要があります。各データベース・リンクは、DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGEプロシージャを使用して権限を付与されたリモート・データベースのユーザーに接続する必要があります。

      Oracle Streamsコンポーネントを使用して各データベースでOracle Streams管理者を構成すると、Oracle Streams管理者に必要な権限が割り当てられます。Oracle Streams管理者を作成する方法の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。

    ご使用の環境に、これらの要件を満たすデータベースがない場合は、データベースを1つ選択し、必要なデータベース・リンクを構成して、必要な権限をユーザーに付与してから処理を進めてください。

  2. SQL*Plusでは、手順1で指定したデータベースに、手順1に示される要件を満たすユーザーとして接続します。

    SQL*Plusでデータベースに接続する方法については、『Oracle Database管理者ガイド』を参照してください。

  3. ORACLE_HOMEのrdbms/adminディレクトリでutlspadv.sqlスクリプトを実行してUTL_SPADVパッケージをロードします。次に例を示します。

    @utlspadv.sql
    
  4. 現在のOracle Streamsパフォーマンスの統計を1回収集するか、Oracle Streamsパフォーマンスを継続的に監視するジョブを作成します。

    • 現在のOracle Streamsパフォーマンスの統計を1回収集するには、COLLECT_STATSプロシージャを実行します。

      exec UTL_SPADV.COLLECT_STATS
      

      この例では、COLLECT_STATSプロシージャのパラメータにデフォルト値を使用します。したがって、この例では、60秒間隔でパフォーマンス・アドバイザが10回実行されます。これらの値は、COLLECT_STATSプロシージャのintervalおよびnum_runsパラメータのデフォルト値にそれぞれ対応します。

    • Oracle Streamsパフォーマンスを継続的に監視するジョブを作成するには、次のプロシージャを実行します。

      exec UTL_SPADV.START_MONITORING
      

      この例では、監視ジョブを作成します。その監視ジョブでは、設定した間隔で継続的にパフォーマンスの統計を収集します。この例では、START_MONITORINGプロシージャのパラメータにデフォルト値を使用します。したがって、この例では、60秒ごとにパフォーマンス・アドバイザが実行されます。この値は、START_MONITORINGプロシージャのintervalパラメータのデフォルト値に対応します。START_MONITORINGプロシージャで間隔を指定すると、COLLECT_STATSプロシージャのintervalパラメータにその間隔が使用されます。

    これらのプロシージャには、パフォーマンスの統計を収集する方法を調整するために使用できるいくつかのパラメータが用意されています。詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

統計を表示するには、SHOW_STATSプロシージャを実行します。「UTL_SPADVパッケージを使用したOracle Streamsの統計の表示」を参照してください。


関連項目:

UTL_SPADVパッケージの詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照

Oracle Streamsの監視ジョブが現在実行されているかどうかの確認

UTL_SPADVパッケージを使用して監視ジョブが実行されているかどうかを確認するには、次の手順を実行します。

  1. 監視ジョブを発行したユーザーとしてデータベースに接続します。

  2. IS_MONITORINGファンクションを実行します。たとえば、STREAM$_MONITORING_JOBという完全な監視ジョブ名で現在のユーザーによって発行された監視ジョブが実行されているかどうかを調べるには、次のように入力します。

    SET SERVEROUTPUT ON
    DECLARE
      is_mon   BOOLEAN;
    BEGIN
      is_mon := UTL_SPADV.IS_MONITORING(
                  job_name    => 'STREAMS$_MONITORING_JOB',
                  client_name => NULL);
      IF is_mon=TRUE THEN
        DBMS_OUTPUT.PUT_LINE('The monitoring job is running.');
      ELSE
        DBMS_OUTPUT.PUT_LINE('No monitoring job was found.');
      END IF;
    END;
    /
    

指定した完全な監視ジョブ名の監視ジョブが現在実行されている場合は、出力に次のテキストが表示されます。

The monitoring job is running.

指定した完全な監視ジョブ名の監視ジョブが現在実行されていない場合は、出力に次のテキストが表示されます。

No monitoring job was found.

注意:

監視ジョブを発行すると、クライアント名とジョブ名が連結されて完全な監視ジョブ名が形成されます。Oracle Enterprise Managerによって発行される監視ジョブのクライアント名は常にEMになります。

Oracle Streamsの監視ジョブの変更

UTL_SPADVパッケージを使用して監視ジョブを変更するには、次の手順を実行します。

  1. 監視ジョブをまだ作成していない場合は、「UTL_SPADVパッケージを使用したOracle Streamsの統計の収集」で説明した手順を実行して作成します。手順4では、必ずSTART_MONITORINGプロシージャを実行してください。

  2. 監視ジョブを発行したユーザーとしてデータベースに接続します。監視ジョブを変更できるのは、その監視ジョブを発行したユーザーのみであり、各ユーザーが1回に発行できる監視ジョブは1つのみです。

  3. ALTER_MONITORINGプロシージャを実行します。次の例では、監視ジョブの間隔を120秒に設定しています。

    BEGIN
      UTL_SPADV.ALTER_MONITORING(
        interval => 120);
    END;
    /
    

    このプロシージャを実行すると、監視ジョブは120秒ごとに統計を収集します。

Oracle Streamsの監視ジョブの停止

UTL_SPADVパッケージを使用して監視ジョブを停止するには、次の手順を実行します。

  1. 監視ジョブを発行したユーザーとしてデータベースに接続します。監視ジョブを停止できるのは、その監視ジョブを発行したユーザーのみであり、各ユーザーが1回に発行できる監視ジョブは1つのみです。

  2. STOP_MONITORINGプロシージャを実行します。

    exec UTL_SPADV.STOP_MONITORING
    

STOP_MONITORINGプロシージャには、監視ジョブによって収集された統計を結果の表から消去するために使用できるpurgeパラメータが用意されています。デフォルトでは、purgeパラメータはFALSEに設定されており、結果は維持されます。結果を消去するには、purgeパラメータをTRUEに設定します。


関連項目:

詳細は、『Oracle Database PL/SQLパッケージおよびタイプ・リファレンス』を参照してください。

UTL_SPADVパッケージを使用したOracle Streamsの統計の表示

SHOW_STATSプロシージャでは、パフォーマンス・アドバイザによって収集および格納された統計を表示します。path_stat_tableパラメータを使用して、統計を含む表を指定します。

COLLECT_STATSプロシージャを使用して統計を収集するとき、COLLECT_STATSプロシージャのpath_stat_tableパラメータでこの表を指定します。デフォルトでは、表名はSTREAMS$_ADVISOR_PATH_STATです。

START_MONITORINGプロシージャを使用して統計を収集するとき、この表の名前を調べるには、STREAMS$_PA_MONITORINGビューのSHOW_STATS_TABLE列を問い合せます。監視ジョブのデフォルトの表はSTREAMS$_PA_SHOW_PATH_STATです。

UTL_SPADVパッケージによって収集され、STREAMS$_ADVISOR_PATH_STAT表に格納された統計を表示するには、次の手順を実行します。

  1. 「UTL_SPADVパッケージを使用したOracle Streamsの統計の収集」で説明した手順を実行して、統計を収集します。

  2. 統計を収集したユーザーとしてデータベースに接続します。

  3. 監視ジョブを使用している場合は、STREAMS$_PA_MONITORINGビューのSHOW_STATS_TABLE列を問い合せて、統計が格納されているこの表の名前を調べます。

    SELECT SHOW_STATS_TABLE FROM STREAMS$_PA_MONITORING;
    
  4. SHOW_STATSプロシージャを実行します。

    たとえば、監視ジョブおよびデフォルトの格納表を使用している場合は、次のプロシージャを実行します。

    SET SERVEROUTPUT ON SIZE 50000
    BEGIN
      UTL_SPADV.SHOW_STATS(
        path_stat_table => 'STREAMS$_PA_SHOW_PATH_STAT');
    END;
    /
    

出力には、次の凡例が含まれています。

LEGEND
<statistics>= <capture> [ <queue> <psender> <preceiver> <queue> ] <apply>
<bottleneck>
<capture>   = '|<C>' <name> <msgs captured/sec> <msgs enqueued/sec> <latency>
                    'LMR' <idl%> <flwctrl%> <topevt%> <topevt>
                    'LMP' (<parallelism>) <idl%> <flwctrl%> <topevt%> <topevt>
                    'LMB' <idl%> <flwctrl%> <topevt%> <topevt>
                    'CAP' <idl%> <flwctrl%> <topevt%> <topevt>
                    'CAP+PS' <msgs sent/sec> <bytes sent/sec> <latency> <idl%>
<flwctrl%> <topevt%> <topevt>
<apply>     = '|<A>' <name> <msgs applied/sec> <txns applied/sec> <latency>
                    'PS+PR' <idl%> <flwctrl%> <topevt%> <topevt>
                    'APR' <idl%> <flwctrl%> <topevt%> <topevt>
                    'APC' <idl%> <flwctrl%> <topevt%> <topevt>
                    'APS' (<parallelism>) <idl%> <flwctrl%> <topevt%> <topevt>
<queue>     = '|<Q>' <name> <msgs enqueued/sec> <msgs spilled/sec> <msgs in
queue>
<psender>   = '|<PS>' <name> <msgs sent/sec> <bytes sent/sec> <latency> <idl%>
<flwctrl%> <topevt%> <topevt>
<preceiver> = '|<PR>' <name> <idl%> <flwctrl%> <topevt%> <topevt>
<bottleneck>= '|<B>' <name> <sub_name> <sessionid> <serial#> <topevt%> <topevt>

次の表は、凡例で使用される略称について説明しています。

略称 説明
A 適用プロセス
APC 適用プロセスによって使用されるコーディネータ・プロセス
APR 適用プロセスによって使用されるリーダー・サーバー
APS 適用プロセスによって使用される適用サーバー
B ボトルネック
CまたはCAP 取得プロセス
CAP+PS 取得と適用の複合による最適化での取得プロセス・セッションおよび伝播送信者
CCA 取得と適用の複合(Yはパスに使用されることを示し、Nはパスに使用されないことを示します。)
flwctrl フロー制御
idl アイドル
LMB 取得プロセスによって使用されるビルダー・サーバー(LogMiner builder)
LMP 取得プロセスによって使用されるプリペアラ・サーバー(LogMiner preparer)
LMR 取得プロセスによって使用されるリーダー・サーバー(LogMiner reader)
msgs メッセージ
preceiverまたはPR 伝播受信者
psenderまたはPS 伝播送信者
PS+PR 取得と適用の複合による最適化(取得プロセスと適用プロセスが同じデータベース・インスタンスで実行されている)での伝播送信者および伝播受信者
Q キュー
serial# セッション・シリアル番号
sec
sid セッション識別子
sub_name サブコンポーネント名
topevt 最上位イベント

次に、パス内の最後のコンポーネントが適用プロセスである場合の出力例を示します。

OUTPUT
PATH 1 RUN_ID 3 RUN_TIME 2009-JUL-02 05:59:38 CCA Y
|<C> DB2$CAP 10267 10040 3 LMR 95% 0% 3.3% "" LMP (1) 86.7% 0% 11.7% "" LMB 86.7% 0% 11.7% ""
CAP 71.7% 16.7% 11.7% "" |<Q> "STRMADMIN"."DB2$CAPQ" 2540.45 0 30 |<PS>
=>DB1.EXAMPLE.COM 2152.03 32992.96 4 59.2% 9.8% 0% "" |<PR> DB2.EXAMPLE.COM=> 98.5%
0% 0.6% "" |<Q> "STRMADMIN"."DB2$APPQ" 3657.03 0.01 460 |<A> APPLY$_DB2_2 10042 100 4
APR 93.3% 0% 6.7% "" APC 98.1% 0% 1.8% "" APS (4) 370% 0% 6.1% "" |<B> NO BOTTLENECK
IDENTIFIED
 
 
PATH 1 RUN_ID 4 RUN_TIME 2009-JUL-02 06:01:39 CCA Y
|<C> DB2$CAP 10464 10002 3 LMR 95% 0% 1.7% "" LMP (1) 83.3% 0% 16.7% "" LMB 85% 0% 15% "" 
CAP 62.9% 0% 35.7% "" |<Q> "STRMADMIN"."DB2$CAPQ" 2677.03 0.01 45 |<PS>
=>DB1.EXAMPLE.COM 2491.08 47883.46 4 65.5% 10.7% 0% "" |<PR> DB2.EXAMPLE.COM=> 0% 83.3% 
13.3% "" |<Q> "STRMADMIN"."DB2$APPQ" 2444.03 0.01 0 |<A> APPLY$_DB2_2 10004 100 3
APR 42.9% 57.1% 0% "" APC 90% 0% 10% "" APS (4) 346% 0% 10.3% "" |<B> NO BOTTLENECK
IDENTIFIED
.
.
.

注意:

この出力は、説明のみを目的としています。実際のパフォーマンス特性は、個々の構成および条件によって異なります。

出力の統計を判断するのに凡例および略称を使用します。たとえば、次の出力は、パスが1で実行IDが3のdb2$cap取得プロセスを表します。

|<C> DB2$CAP 10267 10040 3 LMR 95% 0% 3.3% "" LMP (1) 86.7% 0% 11.7% "" LMB 86.7% 0% 11.7% ""
CAP 71.7% 16.7% 11.7% ""

この出力は、次の統計を示しています。

  • 取得プロセスは、平均して毎秒10267のデータベース変更を取得しました。

  • 取得プロセスは、平均して毎秒10040のメッセージをエンキューしました。

  • 取得プロセスの待機時間は、3秒でした。

  • 取得プロセスが使用したリーダー・サーバー(LMR)のアイドル時間は、95%でした。

  • 取得プロセスが使用したリーダー・サーバーがフロー制御モードだった時間は、0%でした。

  • 取得プロセスが使用したリーダー・サーバーが上位待機イベントに費やした時間は、3.3%でした。

  • プリペアラ・サーバー(LMP)の並列性は、1でした。

  • 取得プロセスが使用したプリペアラ・サーバーのアイドル時間は、86.7%でした。

  • 取得プロセスが使用したプリペアラ・サーバーがフロー制御モードだった時間は、0%でした。

  • 取得プロセスが使用したプリペアラ・サーバーが上位待機イベントに費やした時間は、11.7%でした。

  • 取得プロセスが使用したビルダー・サーバー(LMB)のアイドル時間は、86.7%でした。

  • 取得プロセスが使用したビルダー・サーバーがフロー制御モードだった時間は、0%でした。

  • 取得プロセスが使用したビルダー・サーバーが上位待機イベントに費やした時間は、11.7%でした。

  • 取得プロセスのセッションのアイドル時間は、71.7%でした。

  • 取得プロセスのセッションがフロー制御モードだった時間は、16.7%でした。

  • 取得プロセスのセッションが最上位待機イベントに費やした時間は、11.7%でした。