ヘッダーをスキップ
Oracle® Database PL/SQLパッケージおよびタイプ・リファレンス
11g リリース2(11.2)
B56262-06
  目次へ移動
目次
索引へ移動
索引

前
 
次
 

146 DBMS_STREAMS_ADVISOR_ADM

Oracle Streamsパッケージの1つであるDBMS_STREAMS_ADVISOR_ADMパッケージでは、Oracle Streams環境に関する情報を収集し、収集した情報に基づいてデータベース管理者をサポートするインタフェースが提供されています。このパッケージは、Oracle Streamsパフォーマンス・アドバイザの一部です。

この章では、次の項目について説明します。


関連項目:

このパッケージの使用方法は、『Oracle Streams概要および管理』を参照してください。


DBMS_STREAMS_ADVISOR_ADMの使用方法

この項では、DBMS_STREAMS_ADVISOR_ADMパッケージの使用に関連する項目について説明します。


概要

DBMS_STREAMS_ADVISOR_ADMパッケージによって、Oracle Streams環境に関する情報を収集および分析できます。この情報は、次の方法で使用できます。

  • 1つ以上のデータベースでのOracle Streamsコンポーネントに関する情報を含むOracle Streamsトポロジを、データ・ディクショナリ・ビューに移入します。

  • 環境内の1つ以上のデータベースでのOracle Streamsコンポーネント、およびこれらのコンポーネントが含まれているストリームでの情報の流れ方を調べます。

  • 環境内のOracle Streamsコンポーネントのパフォーマンスを分析します。

  • Oracle Streamsコンポーネントのパフォーマンスの問題を検出し、それらの問題を修正します。


関連項目:

このパッケージの使用方法は、『Oracle Streams概要および管理』を参照してください。


セキュリティ・モデル

このパッケージのセキュリティは、次のいずれかの方法で制御できます。

  • 選択したユーザーまたはロールに、このパッケージのEXECUTEを付与する方法

  • 選択したユーザーまたはロールに、EXECUTE_CATALOG_ROLEを付与する方法

パッケージのサブプログラムをストアド・プロシージャ内から実行する場合、そのサブプログラムを実行するユーザーには、パッケージのEXECUTE権限を直接付与する必要があります。ロールを通して付与することはできません。

このパッケージ内のサブプログラムを実行するユーザーが必要な権限を所有するには、Oracle Streams管理者を構成し、このパッケージを使用するときにOracle Streams管理者として接続します。


関連項目:

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


定数

DBMS_STREAMS_ADVISOR_ADMパッケージは、パラメータ値の指定に使用するいくつかの列挙定数を定義します。列挙定数にはパッケージ名を接頭辞として付加する必要があります。たとえば、DBMS_DBMS_ADVISOR_ADM.CAPTURE_TYPEのように定義します。

表146-1 DBMS_STREAMS_ADVISOR_ADMパラメータおよび列挙定数

パラメータ オプション タイプ 説明

component_type

  • CAPTURE_TYPE

  • PROPAGATION_SENDER_TYPE

  • PROPAGATION_RECEIVER_TYPE

  • APPLY_TYPE

  • QUEUE_TYPE

NUMBER

CAPTURE_TYPEは、Oracle Streamsコンポーネントが取得プロセスであることを示します。このオプションの定数は1です。

PROPAGATION_SENDER_TYPEは、Oracle Streamsコンポーネントが伝播の送信者であることを示します。このオプションの定数は2です。

PROPAGATION_RECEIVER_TYPEは、Oracle Streamsコンポーネントが伝播の受信者であることを示します。このオプションの定数は3です。

APPLY_TYPEは、Oracle Streamsコンポーネントが適用プロセスであることを示します。このオプションの定数は4です。

QUEUE_TYPEは、Oracle Streamsコンポーネントがキューであることを示します。このオプションの定数は5です。



ビュー

DBMS_STREAMS_ADVISOR_ADMパッケージでは、次のビューを使用します。

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

  • DBA_STREAMS_TP_COMPONENT_LINKには、Oracle Streamsコンポーネント間をメッセージがどのように流れるかに関する情報が含まれています。

  • DBA_STREAMS_TP_COMPONENT_STATには、各Oracle Streamsコンポーネントに関する一時的なパフォーマンス統計情報が含まれています。

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

  • DBA_STREAMS_TP_PATH_BOTTLENECKには、ストリームの流れを遅くしている可能性があるOracle Streamsコンポーネントに関する一時的な情報が含まれています。

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

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

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


関連項目:

  • 『Oracle Databaseリファレンス』

  • これらのビューを使用するサンプル問合せについては、『Oracle Streams概要および管理』を参照してください。



使用上の注意

この項では、DBMS_STREAMS_ADVISOR_ADMパッケージの次の使用上の注意について説明します。

DBMS_STREAMS_ADVISOR_ADMパッケージによって分析されるOracle Streamsコンポーネント

DBMS_STREAMS_ADVISOR_ADMによって、指定されたデータベースで次のOracle Streamsコンポーネントが分析されます。

  • 取得プロセス

  • 伝播

  • 適用プロセス

  • キュー

DBMS_STREAMS_ADVISOR_ADMパッケージによって、次のOracle Streamsコンポーネントは分析されません。

  • 同期取得

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

Oracle Streamsパフォーマンス・アドバイザの実行および情報分析の一般的な手順

DBMS_STREAMS_ADVISOR_ADMパッケージを使用するには、次の一般的な手順を実行します。

  1. 情報の収集に使用するデータベースを特定します。

    このデータベースの管理ユーザーは、次の要件を満たす必要があります。

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

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

    Oracle Streams環境では、Oracle Streams管理者がこのパッケージを使用します。

    環境内のデータベースが前述の要件を満たさない場合は中断し、データベースを選択して必要なデータベース・リンクを構成した後、ユーザーに必要な権限を付与します。

  2. 手順1で識別したデータベースに管理ユーザーとして接続し、残りの手順を実行する間、セッションに接続したままにします。

  3. ANALYZE_CURRENT_PERFORMACEプロシージャを実行します。

  4. オプションで、しばらくの間、メッセージが環境内を流れるのを許可します。

  5. オプションで、ANALYZE_CURRENT_PERFORMACEプロシージャを1回以上再実行します。

  6. 「ビュー」にリストされているデータ・ディクショナリ・ビューを問い合せて、Oracle Streams環境を分析します。

  7. データ・ディクショナリ・ビューの情報を更新する場合または環境内のデータベースに新しいOracle Streamsコンポーネントを追加する場合は、手順2から6を繰り返します。


注意:

ユーザー・セッションを終了すると、レート、帯域幅、イベントおよびフロー制御統計情報がデータ・ディクショナリ・ビューからパージされます。


DBMS_STREAMS_ADVISOR_ADMサブプログラムの要約

表146-2 DBMS_STREAMS_ADVISOR_ADMパッケージのサブプログラム

サブプログラム 説明

ANALYZE_CURRENT_PERFORMANCEプロシージャ


環境内の1つ以上のデータベースでOracle Streamsコンポーネントに関する情報を収集し、収集した情報に基づいてOracle Streamsのパフォーマンスを分析します。



ANALYZE_CURRENT_PERFORMANCEプロシージャ

このプロシージャは、環境内の1つ以上のデータベースでOracle Streamsコンポーネントに関する情報を収集し、収集した情報に基づいてOracle Streamsのパフォーマンスを分析します。

パフォーマンス分析には、次の項目があります。

  • 各ストリームのボトルネック・コンポーネントの計算

  • 各Oracle Streamsコンポーネントのスループットの計算

  • 各Oracle Streamsコンポーネントの待機時間の計算

  • 各Oracle Streamsコンポーネントの最も多い待機イベントの計算

  • 各ストリームのメッセージ・レートの計算

  • 各ストリームのトランザクション・レートの計算

収集された情報は、データ・ディクショナリ・ビューに配置されます。


注意:

このプロシージャのパラメータは、すべてNULL以外か、またはすべてNULLである必要があります。


関連項目:

  • このプロシージャの使用方法は、『Oracle Streams概要および管理』を参照してください。

  • 「ビュー」


構文

DBMS_STREAMS_ADVISOR_ADM.ANALYZE_CURRENT_PERFORMANCE(
   component_name  IN  VARCHAR2  DEFAULT NULL,
   component_db    IN  VARCHAR2  DEFAULT NULL,
   component_type  IN  NUMBER    DEFAULT NULL);

パラメータ

表146-3 ANALYZE_CURRENT_PERFORMANCEプロシージャのパラメータ

パラメータ 説明

component_name

分析するOracle Streamsコンポーネントの名前。たとえば、capture01という取得プロセスを分析するには、capture01と指定します。

NULLの場合は、Oracle Streamsのすべてのコンポーネントが分析され、他の2つのパラメータもNULLに設定する必要があります。

component_db

component_nameパラメータで指定したコンポーネントが含まれているデータベースのグローバル名。たとえば、コンポーネントがdb.netデータベースに含まれている場合は、db.netと指定します。

NULLの場合は、Oracle Streamsのすべてのコンポーネントが分析され、他の2つのパラメータもNULLに設定する必要があります。

component_type

component_nameパラメータで指定したコンポーネントのタイプ。component_nameパラメータがNULL以外の場合は、次のいずれかを指定します。

  • DBMS_STREAMS_ADVISOR_ADM.CAPTURE_TYPE

  • DBMS_STREAMS_ADVISOR_ADM.PROPAGATION_SENDER_TYPE

  • DBMS_STREAMS_ADVISOR_ADM.PROPAGATION_RECEIVER_TYPE

  • DBMS_STREAMS_ADVISOR_ADM.APPLY_TYPE

  • DBMS_STREAMS_ADVISOR_ADM.QUEUE_TYPE

これらの定数の詳細は、「定数」を参照してください。

NULLの場合は、Oracle Streamsのすべてのコンポーネントが分析され、他の2つのパラメータもNULLに設定する必要があります。