Oracle Streamsパフォーマンス・アドバイザは、PL/SQLパッケージDBMS_STREAMS_ADVISOR_ADM と、多数のデータ・ディクショナリ・ビューで構成されます。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パフォーマンス・アドバイザは、DBMS_STREAMS_ADVISOR_ADM PL/SQLパッケージと、データ・ディクショナリ・ビューのコレクションから構成されます。DBMS_STREAMS_ADVISOR_ADMパッケージのANALYZE_CURRENT_PERFORMANCEプロシージャを使用すると、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_DATABASE、DBA_STREAMS_TP_COMPONENTおよびDBA_STREAMS_TP_COMPONENT_LINKに永続的に格納されます。
DBA_STREAMS_TP_COMPONENT_STAT、DBA_STREAMS_TP_PATH_BOTTLENECKおよびDBA_STREAMS_TP_PATH_STATには、一時的な情報が含まれます。これらのビュー内のデータの一部は、ANALYZE_CURRENT_PERFORMANCEプロシージャを実行するユーザー・セッションのためにのみ保持されます。このユーザー・セッションが終了すると、これらの一時的な情報は消去されます。
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パーセンテージ
Oracle Streamsのトポロジのストリーム・パスは、ソースから宛先へのメッセージ・フローのことです。ストリーム・パスは、取得プロセス、同期取得またはアプリケーションがメッセージをキューにエンキューすると開始し、適用プロセスがメッセージをデキューすると終了します。ストリーム・パスは、複数のキューと伝播を介して適用プロセスに到達することがあります。したがって、単一のストリーム・パスが適用プロセスに到達するまでに、複数のソース/宛先ペアが生成される場合があります。
Oracle Streamsのトポロジは、それぞれのパスを簡単に監視できるように、各ストリーム・パスに番号を割り当てます。また、ストリーム・パスの2つの要素間の各リンクにも番号を割り当てます。この番号には、ストリーム・パス全体のリンクの位置が指定されます。表22-1は、ストリーム・パスの例と各リンクの位置を示しています。
表22-1 ストリーム・パスの例と各リンクの位置
| 始点要素 | 終点要素 | 位置 |
|---|---|---|
|
取得プロセス |
キュー |
1 |
|
キュー |
伝播送信者 |
2 |
|
伝播送信者 |
伝播受信者 |
3 |
|
伝播受信者 |
キュー |
4 |
|
キュー |
適用プロセス |
5 |
Oracle Streamsパフォーマンス・アドバイザは、Oracle Streams環境に関する情報を収集する際、各適用プロセスから開始して、その始点に戻りながら動作することによって、ストリーム・パスを追跡します。始点が取得プロセスの場合、Oracle Streamsパフォーマンス・アドバイザは、適用プロセスから取得プロセスへとパスを追跡します。メッセージをエンキューする同期取得またはアプリケーションが始点の場合、Oracle Streamsパフォーマンス・アドバイザは、適用プロセスから、メッセージがエンキューされるキューへとパスを追跡します。
次の各項では、レプリケーション環境の例とそれぞれのストリーム・パスについて説明します。
|
関連項目: Oracle Streamsレプリケーション環境のベスト・プラクティスの詳細は、Oracle Streamsレプリケーション管理者ガイドを参照 |
2つのデータベースを持つOracle Streams レプリケーション環境を考えてみます。各データベースは、取得プロセスによってレプリケートされたデータベース・オブジェクトに対する変更を取得して、その変更をもう一方のデータベースに送信します。これらの変更は、そこで適用プロセスによって適用されます。
このタイプのOracle Streamsレプリケーション環境では、取得と適用が複合して使用されます。取得と適用の複合パスで、取得プロセスは、効率を向上させる伝播送信者として機能します。
図22-1は、2つの個別のストリーム・パスで取得と適用の複合を使用したOracle Streamsレプリケーション環境を示しています。
Oracle Streamsパフォーマンス・アドバイザは、各Oracle StreamsコンポーネントにコンポーネントIDを割り当て、各パスにパスIDを割り当てます。図22-1のOracle Streamsのトポロジは、次の情報を示しています。
Oracle Streams環境には、12のOracle Streamsコンポーネントがあります。
Oracle Streams環境には、2つのストリーム・パスがあります。
ストリーム・パス1は、コンポーネント1で始まり、コンポーネント6で終了します。
ストリーム・パス2は、コンポーネント7で始まり、コンポーネント12で終了します。
単一ソースによって生成された変更を適用する複数の適用プロセスがある場合は、1つのストリーム・パスが複数のストリーム・パスに分かれます。このタイプの構成の場合、取得と適用の複合による最適化は使用できません。
図22-2は、このタイプのOracle Streams環境を示しています。
図22-2のOracle Streamsのトポロジには、次の情報が示されています。
Oracle Streams環境には、10のOracle Streamsコンポーネントがあります。
Oracle Streams環境には、2つのストリーム・パスがあります。
ストリーム・パス1は、コンポーネント1で始まり、コンポーネント7で終了します。
ストリーム・パス2は、コンポーネント1で始まり、コンポーネント10で終了します。
コンポーネント1とコンポーネント2の間のメッセージ・フローはパス1とパス2の両方にあります。
DBMS_STREAMS_ADVISOR_ADMパッケージのANALYZE_CURRENT_PERFORMANCEプロシージャは、Oracle StreamsのトポロジとOracle Streamsコンポーネントのパフォーマンスに関する情報を収集します。このプロシージャは、多数のデータ・ディクショナリ・ビューに情報を格納します。Oracle Streamsパフォーマンス・アドバイザを効果的に使用するには、プロシージャによる情報の収集方法と統計の計算方法を理解することが重要です。
このプロシージャは、Oracle Streams環境のスナップショットを取って、情報を収集し、統計を計算します。統計によっては、単一のスナップショットの情報のみで十分な場合があります。たとえば、キュー内の現在のメッセージ数を判断するために必要なスナップショットは1つのみです。ただし、他の統計を計算するには、2つのスナップショットを比較する必要があります。このような統計には、レート、帯域幅、イベントおよびフロー制御の各統計があります。このような統計を計算するため、ユーザー・セッションでの初回実行時には、2つのスナップショットが取られます。この後は、同じユーザー・セッションで実行するたびに1つのスナップショットを取り、前回の実行時に取得したスナップショットと比較します。
表22-2は、単一のユーザー・セッションでアドバイザが実行されるたびに、どのように情報を収集するかを示します。
表22-2 Oracle Streamsパフォーマンス・アドバイザによるセッション内での情報の収集方法
| アドバイザの実行 | 収集される情報 |
|---|---|
|
1 |
|
|
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コンポーネントを含む各データベースへのデータベース・リンクに対するアクセス権が必要です。
ユーザーは、DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGEプロシージャを使用して権限を付与されている必要があります。各データベース・リンクは、DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGEプロシージャを使用して権限を付与されたリモート・データベースのユーザーに接続する必要があります。
Oracle StreamsコンポーネントによってデータベースごとにOracle Streams管理者を構成すると、そのOracle Streams管理者は必要な権限を持つことになります。手順は、「Oracle Streams管理者の構成」を参照してください。
ご使用の環境に、これらの要件を満たすデータベースがない場合は、データベースを1つ選択し、必要なデータベース・リンクを構成して、必要な権限をユーザーに付与してから処理を進めてください。
SQL*Plusでは、手順1で指定したデータベースに、手順1に示される要件を満たすユーザーとして接続します。
たとえば、Oracle Streams管理者としてhub.example.comに接続します。
SQL*Plusでデータベースに接続する方法については、Oracle Database管理者ガイドを参照してください。
DBMS_STREAMS_ADVISOR_ADMパッケージのANALYZE_CURRENT_PERFORMANCEプロシージャを実行します。
exec DBMS_STREAMS_ADVISOR_ADM.ANALYZE_CURRENT_PERFORMANCE;
必要に応じて、手順3のプロシージャを実行したセッションと同じセッションで、ANALYZE_CURRENT_PERFORMANCEプロシージャを複数回再実行します。
exec DBMS_STREAMS_ADVISOR_ADM.ANALYZE_CURRENT_PERFORMANCE;
次の問合せを実行して、手順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 Stream環境で実行できます。ただし、問合せで示される出力には、図22-3に示すOracle Streamsレプリケーション環境の例を使用します。
Oracle Database 2日でデータ・レプリケーションおよび統合ガイドには、図22-3で示すOracle Streamsレプリケーション環境を構成するための手順が記載されています。この環境には、次の両方のタイプのストリーム・パスがあります。
spoke1.example.comデータベースからhub.example.comデータベースへ、およびspoke2.example.comデータベースからhub.example.comデータベースへの取得と適用の複合を使用するストリーム・パス。このタイプのストリーム・パスについては、「取得と適用の複合を使用したレプリケーション環境の例におけるストリーム・パス」を参照してください。
hub.example.comデータベースからspoke1.example.comおよびspoke2.example.comデータベースへの取得と適用の複合フローを使用しない2つのストリーム・パス。このタイプのストリーム・パスについては、「取得と適用の複合を使用しないレプリケーション環境におけるストリーム・パス」を参照してください。
この項の問合せの出力は、これら2つのタイプのストリーム・パスの違いを示しています。
この項の内容は次のとおりです。
Oracle Streamsのトポロジを表示するには、まず最初にDBMS_STREAMS_ADVISOR_ADMパッケージを使用して、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.com、spoke1.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コンポーネントのコンポーネント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のトポロジのストリーム・パスに関する次の情報を表示できます。
パス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パフォーマンス・アドバイザは、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環境のボトルネック・コンポーネントについて、次の情報を表示できます。
そのコンポーネントを含むパスのパス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_IDに2を使用しています。アドバイザ実行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_IDENTIFIEDをNOに設定します。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: ストリーム・パスでボトルネックが特定できなかったか、またはストリーム・パスに1つ以上のボトルネック・コンポーネントが存在する可能性があることを意味します。
|
関連項目:
|
Oracle StreamsのトポロジのOracle Streamsコンポーネントの統計を表示できます。この項の問合せでは、コンポーネントごとの次の情報が表示されます。
コンポーネントが属するパスのID
Oracle Streamsコンポーネントの名前。
Oracle Streamsコンポーネントのタイプ。次のタイプがあります。
コンポーネントについて収集された統計
統計の値および単位。たとえば、LATENCY統計は、値の数および単位のSECONDSを示します。TRANSACTION APPLY RATE統計は、値の数と単位のTRANSACTIONS PER SECONDを示します。
DBMS_STREAMS_ADVISOR_ADMパッケージのANALYZE_CURRENT_PERFORMANCEプロシージャは、この項の問合せによって返された統計を収集します。したがって、問合せによって返される統計は、プロシージャ実行時点の統計です。統計は自動的には更新されません。
表22-3は、この項の問合せによって返される各統計を説明しています。
表22-3 Oracle Streamsコンポーネントのコンポーネント・レベル統計
| コンポーネント・タイプ | 統計 | 単位 | 説明 |
|---|---|---|---|
|
|
|
|
取得プロセスによってスキャンされたREDOログのデータベース変更の1秒あたりの平均数。 取得プロセスは、そのルール・セットを満たすスキャン済変更を取得してエンキューします。 |
|
|
|
|
取得プロセスによってエンキューされる1秒あたりの平均論理変更レコード(LCR)数。 |
|
|
|
|
取得プロセスでREDOエントリが最後に使用可能になってから、取得プロセスが最後にスキャンしたREDOエントリがREDOログに記録されるまでの時間。 統計の目的は、変更がREDOログに記録されてから、そのREDOレコードが取得プロセスによってスキャンされるまでの時間を示すことです。 取得プロセスは、スキャンされた変更をエンキューする場合もしない場合もあります。取得プロセスは、変更がそのルール・セットを満たす場合にのみ変更をエンキューします。 |
|
|
|
|
伝播送信者によって送信された1秒あたりの平均メッセージ数。 |
|
|
|
|
伝播送信者によって送信された1秒あたりの平均バイト数。 |
|
|
|
|
メッセージがソース・データベースで作成されてから、伝播送信者によって宛先キューに送信されるまでの時間。 示される値は、伝播送信者によってソース・キューから宛先キューへ送信された単一のメッセージについてのものです。このメッセージは、 伝播によって送信されたメッセージのタイプによって、メッセージの作成時間は次のいずれかになります。
|
|
|
|
|
適用プロセスによって適用される1秒あたりの平均メッセージ数。 取得LCRまたは永続LCRは、次のいずれかの方法で適用できます。
永続ユーザー・メッセージは、次のいずれかの方法で適用できます。
|
|
|
|
|
適用プロセスによって適用された1秒あたりの平均トランザクション数。トランザクションには通常、複数のメッセージが含まれます。 取得LCRまたは永続LCRを含むトランザクションは、次のいずれかの方法で適用できます。
永続ユーザー・メッセージを含むトランザクションは、次のいずれかの方法で適用できます。
|
|
|
|
|
メッセージがソース・データベースで作成されてから、適用プロセスによって宛先データベースで適用されるまでの時間。 示される値は、適用プロセスによって適用された単一メッセージについてのものです。このメッセージは、 適用されたメッセージのタイプによって、メッセージの作成時間は次のいずれかになります。
|
|
|
|
|
キューにエンキューされた1秒あたりの平均メッセージ数。 |
|
|
|
|
バッファ・キューからキュー表にオーバーフローした1秒あたりの平均メッセージ数。 |
|
|
|
|
|
|
|
|
|
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 'Componenet|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_IDに2を使用しています。アドバイザ実行IDには、問い合せるアドバイザ実行を指定します。ADVISOR_RUN_IDの確認方法の詳細は、「Oracle Streamsのトポロジおよびパフォーマンスに関する情報の収集」を参照してください。
次の出力は、「各データベースでのOracle Streamsコンポーネントの表示」に示されているコンポーネントについてのパフォーマンス統計の一部を示しています。具体的には、ストリーム・パス 1およびストリーム・パス 3のコンポーネントのパフォーマンス統計を示しています。
Path Componenet
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
.
.
.
3 3 "STRMADMIN"."SOURCE_ QUEUE CURRENT QUEUE S 42580.00 NUMBER OF MESSA
HNS" IZE GES
3 3 "STRMADMIN"."SOURCE_ QUEUE ENQUEUE RATE 2624.17 MESSAGES PER SE
HNS" COND
3 3 "STRMADMIN"."SOURCE_ QUEUE SPILL RATE 15.48 MESSAGES PER SE
HNS" COND
3 4 "STRMADMIN"."SOURCE_ PROPAGATION EVENT: CPU + Wait 17.65 PERCENT
HNS"=>"STRMADMIN"."D SENDER for CPU
ESTINATION_SPOKE1"@S
POKE1.EXAMPLE.COM
3 4 "STRMADMIN"."SOURCE_ PROPAGATION EVENT: latch free .45 PERCENT
HNS"=>"STRMADMIN"."D SENDER
ESTINATION_SPOKE1"@S
POKE1.EXAMPLE.COM
3 4 "STRMADMIN"."SOURCE_ PROPAGATION EVENT: latch: row 4.90 PERCENT
HNS"=>"STRMADMIN"."D SENDER cache objects
ESTINATION_SPOKE1"@S
POKE1.EXAMPLE.COM
3 4 "STRMADMIN"."SOURCE_ PROPAGATION BANDWIDTH 30265.44 BYTES PER SECON
HNS"=>"STRMADMIN"."D SENDER D
ESTINATION_SPOKE1"@S
POKE1.EXAMPLE.COM
3 4 "STRMADMIN"."SOURCE_ PROPAGATION LATENCY 3.60 SECONDS
HNS"=>"STRMADMIN"."D SENDER
ESTINATION_SPOKE1"@S
POKE1.EXAMPLE.COM
3 4 "STRMADMIN"."SOURCE_ PROPAGATION SEND RATE 2572.00 MESSAGES PER SE
HNS"=>"STRMADMIN"."D SENDER COND
ESTINATION_SPOKE1"@S
POKE1.EXAMPLE.COM
3 10 CAPTURE_HNS CAPTURE CAPTURE RATE 2595.29 MESSAGES PER SE
COND
3 10 CAPTURE_HNS CAPTURE ENQUEUE RATE 2573.21 MESSAGES PER SE
COND
3 10 CAPTURE_HNS CAPTURE EVENT: ARCH wai 52.23 PERCENT
t for archivelo
g lock
3 10 CAPTURE_HNS CAPTURE EVENT: CPU + Wa 7.35 PERCENT
it for CPU
3 10 CAPTURE_HNS CAPTURE EVENT: control .52 PERCENT
file sequential
read
3 10 CAPTURE_HNS CAPTURE LATENCY 3.65 SECONDS
3 11 "STRMADMIN"."DESTINA QUEUE CURRENT QUEUE S 40779.00 NUMBER OF MESSA
TION_SPOKE1" IZE GES
3 11 "STRMADMIN"."DESTINA QUEUE ENQUEUE RATE 2573.21 MESSAGES PER SE
TION_SPOKE1" COND
3 11 "STRMADMIN"."DESTINA QUEUE SPILL RATE .00 MESSAGES PER SE
TION_SPOKE1" COND
3 14 "STRMADMIN"."SOURCE_ PROPAGATION EVENT: CPU + Wait 6.92 PERCENT
HNS"@HUB.EXAMPLE.COM RECEIVER for CPU
=>"STRMADMIN"."DESTI
NATION_SPOKE1"
3 14 "STRMADMIN"."SOURCE_ PROPAGATION EVENT: latch: row 2.23 PERCENT
HNS"@HUB.EXAMPLE.COM RECEIVER cache objects
=>"STRMADMIN"."DESTI
NATION_SPOKE1"
3 14 "STRMADMIN"."SOURCE_ PROPAGATION EVENT: library ca 3.79 PERCENT
HNS"@HUB.EXAMPLE.COM RECEIVER che: mutex X
=>"STRMADMIN"."DESTI
NATION_SPOKE1"
3 15 APPLY_SPOKE1 APPLY EVENT: latch: r 4.20 PERCENT
ow cache object
s
3 15 APPLY_SPOKE1 APPLY EVENT: latch: s .26 PERCENT
hared pool
3 15 APPLY_SPOKE1 APPLY EVENT: latch: s .52 PERCENT
hared pool
3 15 APPLY_SPOKE1 APPLY LATENCY 3.64 SECONDS
3 15 APPLY_SPOKE1 APPLY MESSAGE APPLY R 2580.05 MESSAGES PER SE
ATE COND
3 15 APPLY_SPOKE1 APPLY TRANSACTION APP 25.68 TRANSACTIONS PE
LY RATE R SECOND
.
.
.
|
注意: この出力は、説明のみを目的としています。実際のパフォーマンス特性は、個々の構成および条件によって異なります。 |
この出力は、「各データベースでのOracle Streamsコンポーネントの表示」および「Oracle Streamsのトポロジでの各ストリーム・パスの表示」の問合せに対する出力とともに分析できます。
たとえば、パフォーマンスは、取得と適用の複合を使用したストリーム・パスの一部であるコンポーネントの場合、そうでないコンポーネントの場合より向上します。hub.example.com(コンポーネントID 8)のapply_spoke1適用プロセスの統計と、spoke1.example.com(コンポーネントID 15)の適用プロセスapply_spoke1の統計を比較します。
hub.example.comのapply_spoke1適用プロセスは、取得と適用の複合を使用したストリーム・パスの一部です。spoke1.example.comのapply_spoke1適用プロセスは、取得と適用の複合を使用したストリーム・パスの一部ではありません。
次の統計は、これらの適用プロセスのパフォーマンスの違いを示しています。
hub.example.com(コンポーネントID 8)のapply_spoke1適用プロセスのLATENCY統計は、2.13秒です。spoke1.example.com(コンポーネントID 15)のapply_spoke1適用プロセスのLATENCY統計は、3.64秒です。
hub.example.comのapply_spoke1適用プロセスのMESSAGE APPLY RATE統計は、10004.00メッセージ/秒です。spoke1.example.comのapply_spoke1適用プロセスのMESSAGEAPPLY RATE統計は、2580.05メッセージ/秒です。
hub.example.comのapply_spoke1適用プロセスのTRANSACTION APPLY RATE統計は、100.00トランザクション/秒です。spoke1.example.comのapply_spoke1適用プロセスのTRANSACTION APPLY RATE統計は、25.68トランザクション/秒です。
|
関連項目:
|
Oracle Streamsコンポーネントのセッション・レベル統計を表示できます。この項の問合せでは、それぞれのセッション・レベル統計についての次の情報が表示されます。
Oracle Streamsコンポーネントの名前。
Oracle Streamsコンポーネントのタイプ。次のタイプがあります。
サブコンポーネントのタイプ。取得プロセスおよび適用プロセスにのみサブコンポーネントがあります。
取得プロセスでは、次のサブコンポーネント・タイプが可能です。
LOGMINER READER: 取得プロセスのリーダー・サーバーを示します。
LOGMINER PREPARER取得プロセスのプリペアラ・サーバーを示します。
LOGMINER BUILDER取得プロセスのビルダー・サーバーを示します。
CAPTURE SESSION: 取得プロセス・セッションを示します。
適用プロセスでは、次のサブコンポーネント・タイプが可能です。
PROPAGATIONSENDER+RECEIVER: 取得と適用の複合構成で、取得プロセスから適用プロセスにLCRを直接送信します。
APPLY READER: 適用プロセスのリーダー・サーバーを示します。
APPLY COORDINATOR: 適用プロセスのコーディネータ・プロセスを示します。
APPLY SERVER: 適用プロセスのリーダー・サーバーを示します。
コンポーネントについて収集された統計
統計の値および単位。セッション・レベル統計は、単位のPERCENTを示します。この値は、IDLE、FLOW CONTROLのための一時停止、EVENTの待機のいずれかに費やされた時間のパーセンテージです。
DBMS_STREAMS_ADVISOR_ADMパッケージのANALYZE_CURRENT_PERFORMANCEプロシージャは、この項の問合せによって返された統計を収集します。したがって、問合せによって返される統計は、プロシージャ実行時点の統計です。統計は自動的には更新されません。
表22-4は、この項の問合せによって返される各統計を説明しています。
表22-4 Oracle Streamsコンポーネントのセッション・レベル統計
| 統計 | 単位 | 説明 |
|---|---|---|
|
|
|
セッションがアイドル状態で費やした時間のパーセンテージ。アイドル状態のセッションでは、何の処理も実行しません。 |
|
|
|
セッションがフロー制御のために一時停止した時間のパーセンテージ。フロー制御の詳細は、「取得プロセスの状態」を参照してください。 |
|
|
|
セッションが、待機イベントが原因で待機に費やす時間のパーセンテージ。 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_IDに2を使用しています。アドバイザ実行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
|
注意:
|
この項の問合せは、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_IDに2を使用しています。アドバイザ実行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 .00 NUMBER
3 MESSAGE RATE 2623.20 MESSAGES PER SECOND
3 TRANSACTION RATE 26.10 TRANSACTIONS PER SECOND
4 OPTIMIZATION_MODE .00 NUMBER
4 MESSAGE RATE 2580.05 MESSAGES PER SECOND
4 TRANSACTION RATE 25.68 TRANSACTIONS PER SECOND
|
注意: この出力は、説明のみを目的としています。実際のパフォーマンス特性は、個々の構成および条件によって異なります。 |
ストリーム・パス1および2は取得と適用の複合を使用しますが、ストリーム・パス3および4は使用しません。取得と適用の複合を使用するストリーム・パスの方がパフォーマンスは良くなります。
UTL_SPADVパッケージには、分散データベース環境のOracle Streamsコンポーネントの統計を収集して分析するサブプログラムがあります。このパッケージは、Oracle Streamsパフォーマンス・アドバイザを使用して統計を収集します。
このパッケージには、次のプロシージャが含まれます。
COLLECT_STATSプロシージャは、Oracle Streamsパフォーマンス・アドバイザを使用して、分散データベース環境のOracle Streamsのコンポーネントおよびサブコンポーネントに関する統計を収集します。
SHOW_STATSプロシージャは、COLLECT_STATSプロシージャによって収集される統計を含む出力を生成します。この出力は、スプレッドシートに簡単にインポートして分析できるようにフォーマットされています。
これらのプロシージャは、Oracle Streamsパフォーマンス・アドバイザと同じ統計を収集します。これらの統計の詳細は、表22-3「Oracle Streamsコンポーネントのコンポーネント・レベル統計」および表22-4「Oracle Streamsコンポーネントのセッション・レベル統計」を参照してください。
UTL_SPADVパッケージを使用して統計を収集して表示するには、次の手順を実行します。
情報の収集に使用するデータベースを指定します。このデータベースの管理ユーザーは、次の要件を満たしている必要があります。
このユーザーには、Oracle Streamsコンポーネントを含む各データベースへのデータベース・リンクに対するアクセス権が必要です。
ユーザーは、DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGEプロシージャを使用して権限を付与されている必要があります。各データベース・リンクは、DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGEプロシージャを使用して権限を付与されたリモート・データベースのユーザーに接続する必要があります。
Oracle StreamsコンポーネントによってデータベースごとにOracle Streams管理者を構成すると、そのOracle Streams管理者は必要な権限を持つことになります。手順は、「Oracle Streams管理者の構成」を参照してください。
ご使用の環境に、これらの要件を満たすデータベースがない場合は、データベースを1つ選択し、必要なデータベース・リンクを構成して、必要な権限をユーザーに付与してから処理を進めてください。
SQL*Plusでは、手順1で指定したデータベースに、手順1に示される要件を満たすユーザーとして接続します。
たとえば、Oracle Streams管理者としてhub.example.comに接続します。
SQL*Plusでデータベースに接続する方法については、Oracle Database管理者ガイドを参照してください。
rdbms/adminディレクトリでutlspadv.sqlスクリプトを実行してUTL_SPADVパッケージをロードします。次に例を示します。
@utlspadv.sql
COLLECT_STATSプロシージャを実行します。
exec UTL_SPADV.COLLECT_STATS
SHOW_STATSプロシージャを実行します。
SET SERVEROUTPUT ON SIZE 50000 exec UTL_SPADV.SHOW_STATS
出力は次のようになります。
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>
OUTPUT
PATH 1 RUN_ID 3 RUN_TIME 2008-MAR-20 10:52:22 CCA Y
|<C> CAPTURE_HNS=>HUB.EXAMPLE.COM 10267 10040 3 LMR 95% 0% 3.3% "" LMP (1) 86.7% 0% 11.7% ""
LMB 86.7% 0% 11.7% "" CAP+PS 10040 1.46E+06 3 16.7% 71.7% 11.7% ""
|<PR> SPOKE1.EXAMPLE.COM=> 98.5% 0% 0.6% "" |<Q> "STRMADMIN"."DESTINATION_SPOKE1" 25 0 0
|<A> APPLY_SPOKE1 10042 100 4 APR 93.3% 0% 6.7% "" APC 98.1% 0% 1.8% ""
APS (1) 953 272 76.7% "CPU + Wait for CPU" |<B> "NO BOTTLENECK IDENTIFIED"
PATH 1 RUN_ID 4 RUN_TIME 2008-MAR-20 10:53:32 CCA Y
|<C> CAPTURE_HNS=>HUB.EXAMPLE.COM 10464 10002 3 LMR 95% 0% 1.7% "" LMP (1) 83.3% 0% 16.7% ""
LMB 85% 0% 15% "" CAP+PS 10002 1.41E+06 2 62.9% 0% 35.7% "CPU + Wait for CPU"
|<PR> SPOKE1.EXAMPLE.COM=> 0% 83.3% 13.3% "" |<Q> "STRMADMIN"."DESTINATION_SPOKE1" 127 0 0
|<A> APPLY_SPOKE1 10004 100 3 APR 42.9% 57.1% 0% "" APC 90% 0% 10% ""
APS (1) 11.7% 0% 75% "CPU + Wait for CPU" |<B> APPLY_SPOKE1 APS 953 272 65.% "CPU + Wait for CPU"
.
.
.
|
注意: この出力は、説明のみを目的としています。実際のパフォーマンス特性は、個々の構成および条件によって異なります。 |
次の表は、凡例で使用される略称について説明しています。
| 略称 | 説明 |
|---|---|
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 |
最上位イベント |
出力の統計を判断するのに凡例および略称を使用します。たとえば、次の出力は、パスが1で実行IDが4のcapture_hns取得プロセスを表します。
|<C> CAPTURE_HNS=>HUB.EXAMPLE.COM 10464 10002 3 LMR 95% 0% 1.7% "" LMP (1) 83.3% 0% 16.7% "" LMB 85% 0% 15% "" CAP+PS 10002 1.41E+06 2 62.9% 0% 35.7% "CPU + Wait for CPU"
この出力は、次の統計を示しています。
取得プロセスは、平均して毎秒10464のデータベース変更を取得しました。
取得プロセスは、平均して毎秒10002のメッセージをエンキューしました。
取得プロセスの待機時間は、3秒でした。
取得プロセスが使用したリーダー・サーバー(LMR)のアイドル時間は、95%でした。
取得プロセスが使用したリーダー・サーバーがフロー制御モードだった時間は、0%でした。
取得プロセスが使用したリーダー・サーバーが上位待機イベントに費やした時間は、1.7%でした。
プリペアラ・サーバー(LMP)の並列性は、1でした。
取得プロセスが使用したプリペアラ・サーバーのアイドル時間は、83.3%でした。
取得プロセスが使用したプリペアラ・サーバーがフロー制御モードだった時間は、0%でした。
取得プロセスが使用したプリペアラ・サーバーが上位待機イベントに費やした時間は、16.7%でした。
取得プロセスが使用したビルダー・サーバー(LMB)のアイドル時間は、85%でした。
取得プロセスが使用したビルダー・サーバーがフロー制御モードだった時間は、0%でした。
取得プロセスが使用したビルダー・サーバーが上位待機イベントに費やした時間は、15%でした。
取得と適用の複合構成で、取得プロセス・セッションおよび伝播送信者は、毎秒10002のメッセージを伝播受信者に送信しました。
取得と適用の複合構成で、取得プロセス・セッションおよび伝播送信者は、毎秒1,410,000バイトを伝播受信者に送信しました。
取得と適用の複合構成で、取得プロセス・セッションおよび伝播送信者の待機時間は、2秒でした。
取得と適用の複合構成で、取得プロセス・セッションおよび伝播送信者のアイドル時間は、62.9%でした。
取得と適用の複合構成で、取得プロセス・セッションおよび伝播送信者がフロー制御モードだった時間は、0%でした。
取得と適用の複合構成で、取得プロセス・セッションおよび伝播送信者が上位待機イベントに費やした時間は、39.7%でした。この待機イベントは、CPU + Wait for CPUでした。
|
関連項目: UTL_SPADVパッケージの詳細は、Oracle Database PL/SQLパッケージ・プロシージャおよびタイプ・リファレンスを参照 |