UTL_SPADV
パッケージは、Oracle Streamsパッケージ・セットの1つであり、分散データベース環境におけるOracle Streamsコンポーネントの統計を収集して分析するためのサブプログラムを提供しています。このパッケージでは、統計の収集にOracle Streamsパフォーマンス・アドバイザを使用します。
この章では、次の項目について説明します。
概要
セキュリティ・モデル
使用上の注意
関連項目: このパッケージおよびOracle Streamsパフォーマンス・アドバイザの詳細は、『Oracle Streams概要および管理』を参照してください。 |
このパッケージを使用すると、パフォーマンスまたはOracle Streamsコンポーネントに関する統計を収集および分析できます。統計をオンデマンドで収集するか、またはOracle Streamsのパフォーマンスを継続的に監視する監視ジョブを作成することができます。
このパッケージをOracle Database 11gリリース2 (11.2)データベースで使用すると、Oracle Database 10gリリース2 (10.2)以上のデータベースを監視できます。リリース10.2より前のデータベースは監視できません。
関連項目: 『Oracle Streams概要および管理』 |
このパッケージのセキュリティは、次のいずれかの方法で制御できます。
選択したユーザーまたはロールに、このパッケージのEXECUTE
を付与する方法
選択したユーザーまたはロールに、EXECUTE_CATALOG_ROLE
を付与する方法
パッケージのサブプログラムをストアド・プロシージャ内から実行する場合、そのサブプログラムを実行するユーザーには、パッケージのEXECUTE
権限を直接付与する必要があります。ロールを通して付与することはできません。
このパッケージ内のサブプログラムを実行するユーザーが必要な権限を所有するには、Oracle Streams管理者を構成し、このパッケージを使用するときにOracle Streams管理者として接続します。
関連項目: Oracle Streams管理者の構成の詳細は、『Oracle Streamsレプリケーション管理者ガイド』を参照してください。 |
このパッケージを使用するには、Oracle Streams管理者としてOracle Databaseに接続し、ORACLE_HOME
のrdbms/adminディレクトリでutlspadv.sql
スクリプトを実行する必要があります。
utlspadv.sql
スクリプトによって次の表が作成されます。
Oracle Streamsパフォーマンス・アドバイザは、実行時にこれらの表にデータを移入します。
関連項目: 『Oracle Streams概要および管理』 |
STREAMS$_PA_COMPONENT表
STREAMS$_PA_COMPONENT
表は、各データベースのOracle Streamsコンポーネントに関する情報を示します。
表237-1 STREAMS$_PA_COMPONENT表
列 | データ・タイプ | NULL | 説明 |
---|---|---|---|
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってコンポーネントに割り当てられた識別番号 |
|
|
コンポーネントの名前 |
|
|
|
コンポーネントを含むデータベースの名前 |
|
|
|
コンポーネントのタイプ 次のタイプが使用可能です。
|
|
|
|
コンポーネントが最後に変更された日時 |
STREAMS$_PA_COMPONENT_LINK表
STREAMS$_PA_COMPONENT_LINK
表は、Oracle Streamsコンポーネント間での情報の流れ方に関する情報を示します。
表237-2 STREAMS$_PA_COMPONENT_LINK表
列 | データ・タイプ | NULL | 説明 |
---|---|---|---|
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってパスに割り当てられた識別番号 |
|
|
Oracle Streamsパフォーマンス・アドバイザによってパスに割り当てられた一意のキー |
|
|
|
|
パスのソース・コンポーネントのID パスはこのコンポーネントから開始します。 |
|
|
|
パスの接続先コンポーネントのID パスはこのコンポーネントで終了します。 |
|
|
パスにおけるコンポーネントの位置 |
STREAMS$_PA_COMPONENT_PROP表
STREAMS$_PA_COMPONENT_PROP
表は、Streamsパフォーマンス・アドバイザによる分析に必要な、取得プロセスと適用プロセスに関する情報を示します。
表237-3 STREAMS$_PA_COMPONENT_PROP表
列 | データ・タイプ | NULL | 説明 |
---|---|---|---|
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってコンポーネントに割り当てられた識別番号 |
|
|
プロパティ名 取得プロセスの場合、コンポーネントのプロパティは次のとおりです。
適用プロセスの場合、コンポーネントのプロパティは次のとおりです。
|
|
|
|
プロパティ値 |
STREAMS$_PA_COMPONENT_STAT表
STREAMS$_PA_COMPONENT_STAT
表は、各Oracle Streamsコンポーネントのパフォーマンス統計とセッション統計を示します。
表237-4 STREAMS$_PA_COMPONENT_STAT表
列 | データ・タイプ | NULL | 説明 |
---|---|---|---|
|
|
Oracle Streamsパフォーマンス・アドバイザの実行識別番号 |
|
|
|
アドバイザの実行IDに対してOracle Streamsパフォーマンス・アドバイザが実行された日時 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってコンポーネントに割り当てられた識別番号 |
|
|
|
統計が記録された日時 |
|
|
|
統計の名前 |
|
|
|
統計用に記録された値 |
|
|
|
統計の測定単位 |
|
|
|
サブコンポーネントのタイプ 取得プロセスと適用プロセスのみがサブコンポーネントを保持できます。 取得プロセスでは、次のサブコンポーネント・タイプが使用可能です。
適用プロセスでは、次のサブコンポーネント・タイプが使用可能です。
|
|
|
|
コンポーネントのセッションの識別番号。セッションに関する情報は、 |
|
|
|
コンポーネントのセッションのセッション・シリアル番号。セッションに関する情報は、 |
STREAMS$_PA_CONTROL表
STREAMS$_PA_CONTROL
表は、このパッケージのCOLLECT_STATS
プロシージャのパラメータ・セットを示します。これらのパラメータは監視動作を制御します。
STREAMS$_PA_DATABASE表
STREAMS$_PA_DATABASE
表は、Oracle Streamsコンポーネントを含む各データベースに関する情報を示します。
表237-6 STREAMS$_PA_DATABASE表
列 | データ・タイプ | NULL | 説明 |
---|---|---|---|
|
|
|
Oracle Streamsパフォーマンス・アドバイザによって分析されるデータベースのグローバル名 |
|
|
パフォーマンス・アドバイザが最後の実行においてデータベース情報の収集に成功した日時 |
|
|
|
データベースへの最後の問合せで発生したエラーのエラー番号 |
|
|
|
データベースへの最後の問合せで発生したエラーのエラー・メッセージ |
STREAMS$_PA_DATABASE_PROP表
STREAMS$_PA_DATABASE_PROP
表は、Streamsパフォーマンス・アドバイザによる分析に必要な、Oracle Streamsデータベースのプロパティ情報を示します。
STREAMS$_PA_MONITORING表
STREAMS$_PA_MONITORING
表は、データベースで実行している各監視ジョブに関する情報を示します。
表237-8 STREAMS$_PA_MONITORING表
列 | データ・タイプ | NULL | 説明 |
---|---|---|---|
|
|
|
監視ジョブの名前 |
|
|
ジョブを送信したクライアントの名前 関連項目: 「監視ジョブのフルネーム」 |
|
|
|
監視結果を表示するためにユーザーに付与された権限 |
|
|
|
統計を表示するために |
|
|
|
監視ジョブが開始した日時 |
|
|
|
監視ジョブが停止した日時 |
|
|
|
監視ジョブが最後に変更された日時 |
|
|
|
監視ジョブの状態( |
STREAMS$_PA_PATH_BOTTLENECK表
STREAMS$_PA_PATH_BOTTLENECK
表は、メッセージの流れを遅くしている可能性があるOracle Streamsコンポーネントに関する情報を示します。
表237-9 STREAMS$_PA_PATH_BOTTLENECK表
列 | データ・タイプ | NULL | 説明 |
---|---|---|---|
|
|
Oracle Streamsパフォーマンス・アドバイザの実行識別番号 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザが最後に実行された日時 |
|
|
|
ボトルネックの原因 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってパスに割り当てられた識別番号 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってパスに割り当てられた一意のキー |
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってコンポーネントに割り当てられた識別番号 |
|
|
|
最上位コンポーネントのセッションID。セッションに関する情報は、 |
|
|
|
最上位コンポーネントのセッション・シリアル番号。セッションに関する情報は、 |
|
|
|
最上位セッションのアクション名 |
|
|
|
ボトルネックが識別されたかどうかを示します。 |
STREAMS$_PA_PATH_STAT表
STREAMS$_PA_PATH_STAT
表は、各ストリーム・パスのパフォーマンス統計情報を示します。
表237-10 STREAMS$_PA_PATH_STAT表
列 | データ・タイプ | NULL | 説明 |
---|---|---|---|
|
|
Oracle Streamsパフォーマンス・アドバイザの実行識別番号 |
|
|
|
アドバイザの実行IDに対してOracle Streamsパフォーマンス・アドバイザが実行された日時 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってパスに割り当てられた識別番号 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってパスに割り当てられた一意のキー |
|
|
|
統計が記録された日時 |
|
|
|
統計の名前 |
|
|
|
統計用に記録された値 |
|
|
|
統計の測定単位 |
STREAMS$_PA_SHOW_COMP_STAT表
STREAMS$_PA_SHOW_COMP_STAT
表は、Oracle Streamsコンポーネントの統計情報を示します。
表237-11 STREAMS$_PA_SHOW_COMP_STAT表
列 | データ・タイプ | NULL | 説明 |
---|---|---|---|
|
|
Oracle Streamsパフォーマンス・アドバイザの実行識別番号 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザが最後に実行された日時 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってパスに割り当てられた識別番号 |
|
|
|
パスにおけるコンポーネントの位置 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザによってコンポーネントに割り当てられた識別番号 |
|
|
|
コンポーネントの名前 |
|
|
|
コンポーネントのタイプ 次のタイプが使用可能です。
|
|
|
|
サブコンポーネントのタイプ 取得プロセスと適用プロセスのみがサブコンポーネントを保持できます。 取得プロセスでは、次のサブコンポーネント・タイプが使用可能です。
適用プロセスでは、次のサブコンポーネント・タイプが使用可能です。
|
|
|
|
コンポーネントのセッションの識別番号。セッションに関する情報は、 |
|
|
|
コンポーネントのセッションのセッション・シリアル番号。セッションに関する情報は、 |
|
|
|
統計の名前 |
|
|
|
統計の名前 |
|
|
|
統計用に記録された値 |
|
|
|
統計の測定単位 |
STREAMS$_PA_SHOW_PATH_STAT表
STREAMS$_PA_SHOW_PATH_STAT
表は、Oracle Streams構成におけるストリーム・パスの統計情報を示します。監視ジョブは、収集したストリーム・パスの統計情報に対して、この表をデフォルトの表として使用します。
表237-12 STREAMS$_PA_SHOW_PATH_STAT表
列 | データ・タイプ | NULL | 説明 |
---|---|---|---|
|
|
Oracle Streamsパフォーマンス・アドバイザによってパスに割り当てられた識別番号 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザの実行識別番号 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザが最後に実行された日時 |
|
|
|
Oracle Streamsパフォーマンス・アドバイザの実行の設定 |
|
|
|
コンポーネントレベルの統計 |
|
|
|
セッションレベルの統計 |
|
|
|
取得と適用の複合による最適化をパスで使用するかどうか。 0(ゼロ)は、取得と適用の複合による最適化をパスで使用しないことを示します。 1は、取得と適用の複合による最適化をパスで使用することを示します。 |
表237-13 DBMS_STREAMSパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
現行ユーザーによって送信された監視ジョブを変更します。 |
|
Oracle Streamsパフォーマンス・アドバイザを使用して、分散データベース環境におけるOracle Streamsのコンポーネントおよびサブコンポーネントに関する統計を収集します。 |
|
監視ジョブが現在実行中かどうかをチェックします。 |
|
|
|
監視ジョブを開始します。 |
|
監視ジョブを停止します。 |
このプロシージャは、現行ユーザーによって送信された監視ジョブを変更します。
構文
UTL_SPADV.ALTER_MONITORING( interval IN NUMBER DEFAULT NULL, top_event_threshold IN NUMBER DEFAULT NULL, bottleneck_idle_threshold IN NUMBER DEFAULT NULL, bottleneck_flowctrl_threshold IN NUMBER DEFAULT NULL, retention_time IN NUMBER DEFAULT NULL);
パラメータ
表237-14 ALTER_MONITORINGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
各パフォーマンス・アドバイザの実行間隔(秒)。最大値は3600秒です。
|
|
上位待機イベント統計を収集するかどうかを決定する割合。 このプロシージャで待機イベント統計を収集するには、待機イベントの割合が、このパラメータに指定された値を超える必要があります。たとえば、
|
|
Oracle Streamsのコンポーネント・セッションで、その Oracle Streamsのコンポーネント・セッションでボトルネック分析を可能にするには、
|
|
Oracle Streamsのコンポーネント・セッションで、その Oracle Streamsのコンポーネント・セッションでボトルネック分析を可能にするには、
|
|
監視結果を保持する時間数
|
このプロシージャは、Oracle Streamsパフォーマンス・アドバイザを使用して、分散データベース環境におけるOracle Streamsのコンポーネントおよびサブコンポーネントに関する統計を収集します。
注意: このプロシージャはコミットします。 |
関連項目: Oracle Streamsパフォーマンス・アドバイザの詳細は、『Oracle Streams概要および管理』を参照してください。 |
構文
UTL_SPADV.COLLECT_STATS( interval IN NUMBER DEFAULT 60, num_runs IN NUMBER DEFAULT 10, comp_stat_table IN VARCHAR2 DEFAULT 'STREAMS$_ADVISOR_COMP_STAT', path_stat_table IN VARCHAR2 DEFAULT 'STREAMS$_ADVISOR_PATH_STAT', top_event_threshold IN NUMBER DEFAULT 15, bottleneck_idle_threshold IN NUMBER DEFAULT 50, bottleneck_flowctrl_threshold IN NUMBER DEFAULT 50);
パラメータ
表237-16 COLLECT_STATSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
各パフォーマンス・アドバイザの実行間隔(秒)。最大値は3600秒です。 |
|
このプロシージャによってOracle Streamsパフォーマンス・アドバイザが実行される回数。 |
|
Oracle Streamsのコンポーネントおよびサブコンポーネントに関して収集した統計を格納する表の名前。表の名前を このプロシージャは、指定された表が存在しない場合、その表を作成します。 デフォルトの表である このパラメータの詳細は、「使用上の注意」を参照してください。 |
|
ストリーム・パスに関して収集した統計を格納する表の名前。表の名前を このプロシージャは、指定された表が存在しない場合、その表を作成します。 デフォルトの表である このパラメータの詳細は、「使用上の注意」を参照してください。 |
|
上位待機イベント統計を収集するかどうかを決定する割合。 このプロシージャで待機イベント統計を収集するには、待機イベントの割合が、このパラメータに指定された値を超える必要があります。たとえば、 |
|
Oracle Streamsのコンポーネント・セッションで、その Oracle Streamsのコンポーネント・セッションでボトルネック分析を可能にするには、 |
|
Oracle Streamsのコンポーネント・セッションで、その Oracle Streamsのコンポーネント・セッションでボトルネック分析を可能にするには、 |
このファンクションは、監視ジョブが現在実行中かどうかをチェックします。監視ジョブが実行中の場合はTRUE
を戻し、実行中でない場合はFALSE
を戻します。
監視ジョブは、START_MONITORING
プロシージャを使用して送信されます。
このプロシージャは、COLLECT_STATS
およびSTART_MONITORING
プロシージャで収集した統計を含む出力を生成します。
出力は、分析用にスプレッドシートにインポートできる形式に構成されます。
注意: このプロシージャはコミットしません。 |
関連項目:
|
構文
UTL_SPADV.SHOW_STATS( path_stat_table IN VARCHAR2 DEFAULT 'STREAMS$_ADVISOR_PATH_STAT', path_id IN NUMBER DEFAULT NULL, bgn_run_id IN NUMBER DEFAULT -1, end_run_id IN NUMBER DEFAULT -10, show_path_id IN BOOLEAN DEFAULT TRUE, show_run_id IN BOOLEAN DEFAULT TRUE, show_run_time IN BOOLEAN DEFAULT TRUE, show_optimization IN BOOLEAN DEFAULT TRUE, show_setting IN BOOLEAN DEFAULT FALSE, show_stat IN BOOLEAN DEFAULT TRUE, show_sess IN BOOLEAN DEFAULT FALSE, show_legend IN BOOLEAN DEFAULT TRUE);
パラメータ
表237-18 SHOW_STATSプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ストリーム・パス統計が含まれている表の名前。表の名前を
|
|
ストリーム・パスのID。
|
|
実行の範囲で表示する場合のOracle Streamsパフォーマンス・アドバイザの最初の実行ID。 このパラメータの詳細は、「使用上の注意」を参照してください。 |
|
実行の範囲で表示する場合のOracle Streamsパフォーマンス・アドバイザの最後の実行ID。 このパラメータの詳細は、「使用上の注意」を参照してください。 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
使用上の注意
表示するOracle Streamsパフォーマンス・アドバイザの実行の範囲を指定するには、bgn_run_id
とend_run_id
の両方を使用してください。正の値を指定すると、先の実行から順に統計が表示されます。負の値を指定すると、後の実行からさかのぼって統計が表示されます。
たとえば、bgn_run_id
を1
に設定し、end_run_id
を10
に設定すると、最初の10個のOracle Streamsパフォーマンス・アドバイザの実行の統計が表示されます。
一方、bgn_run_id
を-1
に設定し、end_run_id
を-10
に設定すると、最後の10個のOracle Streamsパフォーマンス・アドバイザの実行の統計が表示されます。
関連項目: 取得と適用の複合による最適化の詳細は、『Oracle Streams概要および管理』を参照してください。 |
このプロシージャは、監視ジョブを開始します。
このプロシージャは、COLLECT_STATS
プロシージャを実行して、分散データベース環境におけるOracle Streamsのコンポーネントおよびサブコンポーネントに関する統計情報を収集します。
注意: このプロシージャはコミットします。 |
構文
UTL_SPADV.START_MONITORING( job_name IN VARCHAR2 DEFAULT 'STREAMS$_MONITORING_JOB', client_name IN VARCHAR2 DEFAULT NULL, query_user_name IN VARCHAR2 DEFAULT NULL, interval IN NUMBER DEFAULT 60, top_event_threshold IN NUMBER DEFAULT 15, bottleneck_idle_threshold IN NUMBER DEFAULT 50, bottleneck_flowctrl_threshold IN NUMBER DEFAULT 50, retention_time IN NUMBER DEFAULT 24);
パラメータ
表237-19 START_MONITORINGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
作成する監視ジョブの名前 |
|
クライアントの名前 |
|
結果の表を問い合せるユーザー このプロシージャは、特定のユーザーに権限を付与して、結果の表を問い合せることができるようにします。 |
|
各パフォーマンス・アドバイザの実行間隔(秒)。最大値は3600秒です。 指定した時間間隔は、 |
|
上位待機イベント統計を収集するかどうかを決定する割合。 このプロシージャで待機イベント統計を収集するには、待機イベントの割合が、このパラメータに指定された値を超える必要があります。たとえば、 |
|
Oracle Streamsのコンポーネント・セッションで、その Oracle Streamsのコンポーネント・セッションでボトルネック分析を可能にするには、 |
|
Oracle Streamsのコンポーネント・セッションで、その Oracle Streamsのコンポーネント・セッションでボトルネック分析を可能にするには、 |
|
監視結果を保持する時間数 |
使用上の注意
次の各項では、START_MONITORING
プロシージャの使用上の注意について説明します。
プロシージャを実行するためのユーザー要件
START_MONITORING
プロシージャを実行するユーザーは、次の要件を満たす必要があります。
ユーザーは、Oracle Streamsコンポーネントを含む各データベースへのデータベース・リンクにアクセスできる必要があります。
ユーザーは、DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE
プロシージャを使用して権限が付与されている必要があります。各データベース・リンクは、DBMS_STREAMS_AUTH.GRANT_ADMIN_PRIVILEGE
プロシージャを使用して権限が付与されているリモート・データベースのユーザーに接続する必要があります。
監視ジョブのフルネーム
監視ジョブを送信するときに、クライアント名とジョブ名が連結され監視ジョブのフルネームが形成されます。START_MONITORING
プロシージャを実行する際に、client_name
パラメータでクライアント名を指定し、job_name
パラメータでジョブ名を指定します。Oracle Enterprise Managerによって送信される監視ジョブのクライアント名は、常にEM
です。
次の表は、監視ジョブのフルネームの例を示しています。
client_nameパラメータの設定 | job_nameパラメータの設定 | 監視ジョブのフルネーム |
---|---|---|
NULL |
STREAMS$_MONITORING_JOB |
STREAMS$_MONITORING_JOB |
EM |
STREAMS$_MONITORING_JOB |
EMSTREAMS$_MONITORING_JOB |
strm |
STREAMS$_MONITORING_JOB |
strmSTREAMS$_MONITORING_JOB |
strm |
mjob1 |
strmmjob1 |
監視ジョブに対する制限
監視ジョブには、次の制限事項が適用されます。
監視ジョブのフルネームの長さは最大30バイトです。
2つの監視ジョブが異なるスキーマによって送信された場合でも、それらに同じフルネームを指定することはできません。名前のチェックでは、大文字と小文字は区別されません。たとえば、strmSTREAMS$_MONITORING_JOB
とSTRMSTREAMS$_MONITORING_JOB
は、同じ名前とみなされます。
Oracle Enterprise Managerは、各データベースに対して最大で1つの監視ジョブのみを持つことができます。
各スキーマは、最大で1つの監視ジョブのみを持つことができます。