DBMS_HPROF
パッケージは、PL/SQLアプリケーションの実行をプロファイルするためのインタフェースを提供します。階層的なプロファイラ・データの収集、未処理のプロファイラ出力の分析およびプロファイル情報生成のためのサービスがあります。
関連項目: PL/SQL階層プロファイラの詳細は、『Oracle Databaseアドバンスト・アプリケーション開発者ガイド』を参照してください。 |
この章では、次の項目について説明します。
次の表に、このパッケージのサブプログラムをアルファベット順に示します。
表60-1 DBMS_HPROFパッケージのサブプログラム
サブプログラム | 説明 |
---|---|
|
未処理のプロファイラ出力を分析し、データベース表の階層プロファイラ情報を生成します。 |
|
ユーザーのセッションで階層プロファイラ・データ収集を開始します。 |
|
ユーザーのセッションでプロファイラ・データ収集を停止します。 |
このファンクションは、未処理のプロファイラ出力を分析し、データベース表の階層プロファイラ情報を生成します。
構文
DBMS_HPROF.ANALYZE ( location VARCHAR2, filename VARCHAR2, summary_mode BOOLEAN DEFAULT FALSE, trace VARCHAR2 DEFAULT NULL, skip PLS_INTEGER DEFAULT 0, collect PLS_INTEGER DEFAULT NULL, run_comment VARCHAR2 DEFAULT NULL) RETURN NUMBER;
パラメータ
表60-2 ANALYZEファンクションのパラメータ
パラメータ | 説明 |
---|---|
|
ディレクトリ・オブジェクトの名前。このディレクトリ・オブジェクトにマップされたファイル・システム・ディレクトリから未処理のプロファイラ・データファイルが読み取られます。出力ファイルもこのディレクトリに書き込まれます。 |
|
分析する未処理のプロファイラ・データファイルの名前。このファイルは、 |
|
デフォルトでは(つまり、 |
|
指定したトレース・エントリをルートとするサブツリーのみが分析されます。デフォルト(traceが トレース・エントリは、引用符で囲まれた特別な修飾形式(スキーマ名、モジュール名およびファンクション名を含む)で指定する必要があります。たとえば、'" |
|
|
|
|
|
この実行に関してユーザーが指定したコメント。 |
戻り値
今回のアナライザ実行に対する一意の実行識別子。この識別子を使用すると、この実行に対応する結果を階層プロファイラ表から検索できます。
使用上の注意
rdbms
/admin
ディレクトリにあるdbmshptab
.sql
スクリプトを使用して、未処理のプロファイラ・データの分析結果を継続的に格納するための階層プロファイラ・データベース表や他のデータ構造を作成します。
dbmshptab
.sql
を実行すると、以前に作成された階層プロファイラ表はすべて削除されます。
例
次のコマンドでは、階層プロファイラ表がHRスキーマにインストールされます。
connect HR/HR; @?/rdbms/admin/dbmshptab.sql
このプロシージャは、ユーザーのセッションで階層プロファイラ・データ収集を開始します。
構文
DBMS_HPROF.START_PROFILING ( location VARCHAR2 DEFAULT NULL, filename VARCHAR2 DEFAULT NULL, max_depth PLS_INTEGER DEFAULT NULL);
パラメータ
表60-3 START_PROFILINGプロシージャのパラメータ
パラメータ | 説明 |
---|---|
|
ディレクトリ・オブジェクトの名前。このディレクトリ・オブジェクトにマップされたファイル・システム・ディレクトリに、未処理のプロファイラ出力が生成されます。 |
|
未処理のプロファイラ・データの出力ファイル名。ファイルは、 |
|
デフォルト(つまり、 |
使用上の注意
プロファイラは、max_depthの値よりも深いファンクションを個別に追跡しませんが、これらのファンクションで消費された時間は、max_depthの深さの祖先ファンクションに含まれます。
このプロシージャは、ユーザーのセッションでプロファイラ・データ収集を停止します。また、このサブプログラムには、それまでにセッションで収集したデータをフラッシュする副次効果があり、これが実行の終了を示します。
構文
DBMS_HPROF.STOP_PROFILING;