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
適用プロセスのMESSAGE
APPLY
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
: 取得プロセス・セッションを示します。
適用プロセスでは、次のサブコンポーネント・タイプが可能です。
PROPAGATION
SENDER+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パッケージ・プロシージャおよびタイプ・リファレンスを参照 |