163 DBMS_STREAMS_ADVISOR_ADM

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

このパッケージは、Oracle Streamsパフォーマンス・アドバイザの一部です。

この章のトピックは、次のとおりです:

参照:

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

163.1 DBMS_STREAMS_ADVISOR_ADMの概要

DBMS_STREAMS_ADVISOR_ADMパッケージによって、Oracle Streams環境に関する情報を収集および分析できます。

この情報は、次の方法で使用できます。

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

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

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

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

参照:

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

163.2 DBMS_STREAMS_ADVISOR_ADMのセキュリティ・モデル

このパッケージのセキュリティは、選択したユーザーまたはロールにこのパッケージのEXECUTE権限を付与するか、選択したユーザーまたはロールにEXECUTE_CATALOG_ROLEを付与することで制御できます。

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

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

参照:

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

163.3 DBMS_STREAMS_ADVISOR_ADMの定数

DBMS_STREAMS_ADVISOR_ADMパッケージは、パラメータ値の指定に使用するいくつかの列挙定数を定義します。

列挙定数にはパッケージ名を接頭辞として付加する必要があります。たとえば、DBMS_DBMS_ADVISOR_ADM.CAPTURE_TYPEのように定義します。

表163-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です。

163.4 DBMS_STREAMS_ADVISOR_ADMのビュー

パッケージ内のビューには、Oracle Streamsのコンポーネントとパフォーマンスに関する情報が含まれます。

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プロシージャを実行するユーザー・セッションのためにのみ保持されます。このユーザー・セッションが終了すると、この一時的な情報はパージされます。

参照:

163.5 DBMS_STREAMS_ADVISOR_ADMの使用上の注意

この項では、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管理者がこのパッケージを使用します。

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

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

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

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

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

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

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

注意:

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

163.6 DBMS_STREAMS_ADVISOR_ADMサブプログラムの要約

この表は、DBMS_STREAMS_ADVISOR_ADMサブプログラムを示し、簡単に説明しています。

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

サブプログラム 説明

ANALYZE_CURRENT_PERFORMANCEプロシージャ

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

163.6.1 ANALYZE_CURRENT_PERFORMANCEプロシージャ

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

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

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

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

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

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

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

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

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

注意:

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

参照:

構文

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);

パラメータ

表163-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に設定する必要があります。