PL/SQLプログラムのプロファイルおよびトレース

大規模なPL/SQLプログラムでのパフォーマンスの問題を切り出すことができるように、PL/SQLには、PL/SQLパッケージとして実装される次のツールが用意されています。

例13-1 プロファイル・ツールおよびトレース・ツールの概要

ツール パッケージ 説明

プロファイラ・インタフェース

DBMS_PROFILER

PL/SQLプログラムが各行および各サブプログラムに費やす時間を計算します。

プロファイル対象のユニットに対するCREATE権限が必要です。

ランタイム統計をデータベース表に保存します。このデータベース表は、問い合せることができます。

トレース・インタフェース

DBMS_TRACE

サブプログラムの実行順序をトレースできます。

トレースするサブプログラムおよびトレース・レベルを指定できます。

ランタイム統計をデータベース表に保存します。このデータベース表は、問い合せることができます。

PL/SQL階層型プロファイラ

DBMS_HPROF

PL/SQLプログラムの動的な実行プログラム・プロファイルをサブプログラムの起動ごとにまとめてレポートします。SQL実行時間とPL/SQL実行時間を別々に示します。

特別なソースまたはコンパイル時の準備は必要ありません。

HTML形式でレポートを生成します。カスタム・レポートの生成用にプロファイラ・データと結果をリレーショナル形式でデータベース表に格納する(サードパーティ・ツールで提供されるような)オプションを提供します。

SQLトレース

DBMS_APPLICATION_INFO

Oracle TraceおよびSQLトレース機能を持つDBMS_APPLICATION_INFOパッケージを使用して、実行しているモジュール名またはトランザクションをデータベースに記録できます。この記録は、後で行う様々なモジュールおよびデバッグのパフォーマンスを追跡するときに使用されます。

PL/SQL基本ブロック・カバレッジ

DBMS_PLSQL_CODE_COVERAGE

基本ブロック・カバレッジ・データを収集して分析します。

コール・スタック・ユーティリティ

UTL_CALL_STACK

現在実行中のサブプログラムに関する情報(サブプログラム名、ユニット名、所有者名、エディション名、エラー・スタック情報など)を提供するため、これらの情報からより露出度の高いエラー・ログやアプリケーション実行トレースを作成できます。

関連トピック