ヘッダーをスキップ
Oracle Database Application Expressユーザーズ・ガイド
リリース2.2
B31492-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

10 アプリケーションのデバッグ

このセクションでは、デバッグ・モードの表示、SQLトレースの有効化、ページ・レポートの表示など、アプリケーションのデバッグ方法を説明し、コントロールまたはコンポーネントを手動で削除して問題を特定する方法を説明します。

内容は次のとおりです。

パフォーマンス・チューニング

多くの同時ユーザーが存在するアプリケーションでは、最適なパフォーマンスを保持することが重要です。 アプリケーションのパフォーマンスを最適化するには、次の機能を使用する必要があります。

セッション・ステートの確認

多くのアプリケーションは、アプリケーション・コントロールに含まれるデータに基づいています。 たとえば、ボタンは、セッション・ステートに格納されている値に基づいて、条件付きで表示できます。アプリケーションの現行のセッション・ステートを表示するには、「開発者」ツールバーの「セッション」リンクをクリックします。

デバッグ・モードへのアクセス

デバッグ・モードでページを表示すると、ページをレンダリングするApplication Expressエンジンの動作状況を追跡できます。デバッグ・モードにアクセスするには、「開発者」ツールバーの「デバッグ」リンクをクリックします。

デバッグ・モードでは、特定のApplication Expressエンジンの動作に対応する時間コードが表示されます。これは、エンジンによってセッション・ステートが設定されるタイミングを判断するために役立ちます。また、「デバッグ」ビューには、アイテム名および計算ポイントとプロセス・ポイントの詳細も表示できます。 デバッグ・モードを終了するには、「開発者」ツールバーの「デバッグなし」をクリックします。

また、f?p構文を使用してアプリケーションをデバッグ・モードで実行することもできます。この場合、ページをコールして、デバッグ引数をYESに設定するのみです。次に例を示します。

f?p=100:1:&APP_SESSION.::YES

SQLトレースの有効化およびTKPROFの使用

セッションをトレースすると、アプリケーションを効率的にデバックできます。データベースの観点では、各ページ・リクエストが単一のデータベース・セッションとみなされます。 SQLトレースを有効にすると、Oracle Application Expressによって一時ファイルが作成されます。このファイルは、TKPROFユーティリティを使用して解析できます。

Oracle Application ExpressでSQLトレースを有効にするには、f?p構文を使用して引数p_trace=YESを設定します。 たとえば、アプリケーション100の1ページ目の表示をトレースするには、次の構文を使用します。

http:/.../f?p=100:1&p_trace=YES

TKPROFユーティリティを使用するには、次の操作を実行します。

  1. トレース・ファイルが作成されたディレクトリにナビゲートします。

  2. オペレーティング・システム・プロンプトから、次の構文を使用してTKPROFユーティリティを実行します。

    tkprof filename1 filename2 [waits=yes|no] [sort=option] [print=n]
        [aggregate=yes|no] [insert=filename3] [sys=yes|no] [table=schema.table]
        [explain=user/password] [record=filename4] [width=n]
    
    

    必要な引数は、入力ファイルおよび出力ファイルのみです。

  3. オンライン・ヘルプを表示するには、引数を指定せずにTKPROFを起動します。


参照:

TKPROFプログラムの使用方法については、『Oracle Databaseパフォーマンス・チューニング・ガイド』のアプリケーション・トレース・ツールの使用方法に関する項を参照してください。

アプリケーションとページのリソース使用の監視

Oracle Application Expressでは、DBMS_APPLICATION_INFOをコールして、アプリケーションおよびページで使用されるリソースを簡単に監視できます。 Application Expressエンジンがページをレンダリングまたは処理すると、モジュールがAPEXに設定され、アプリケーションIDおよびページIDが含められます。 設定後は、V$SESSIONおよびV$SQLAREAビューを問い合せて、トランザクションを監視できます。

レポートの表示

ページ内の問題を特定する場合は、ページで実行されているファンクションを明確に理解している必要があります。 これを行うために、Application Builderには多数のページおよびアプリケーションのレポートが含まれています。

ページ・レポートの表示

ページ・レポートを表示するには、次のステップを実行します。

  1. 該当する「ページ定義」にナビゲートします。

    1. 「作業領域」ホームページにナビゲートします。

    2. アプリケーション・ビルダー」アイコンをクリックします。

    3. アプリケーションを選択します。

    4. ページを選択します。

      「ページ定義」が表示されます。

  2. 「ページ定義」の上部の次のいずれかのボタンをクリックします。

アプリケーション・レポートの表示

アプリケーション・レポートを表示するには、次のステップを実行します。

  1. 「作業領域」ホームページで、「アプリケーション・ビルダー」アイコンをクリックします。

  2. アプリケーションを選択します。

  3. 「タスク」リストで、「アプリケーション・レポートの表示」をクリックします。

  4. 表示するレポートのタイプを選択します。

    • 共有コンポーネント・レポートは、アプリケーション内のすべてのページに表示される共通の要素に関する情報を提供します。レポートは、ロジック、ナビゲーション、セキュリティ、ユーザー・インタフェース、グローバリゼーション、ファイルなどのカテゴリごとに分類されています。レポートの例には、アプリケーション・アイテム、計算、ブレッドクラム・エントリ、認証スキーム、ショートカットなどがあります。

    • ページ・コンポーネント・レポートは、ページのレンダリング時に実行されるコントロールとロジックに関する詳細情報(たとえば、ブランチ、ボタン、計算、アイテム、リージョンなど)を提供します。

    • アクティビティ・レポートは、カレント・アプリケーション内の開発者アクティビティの詳細を提供します。使用可能なレポートには、開発者別の変更、日ごとの開発者別の変更、開発者別の変更のチャート、ページ・パフォーマンス、最近の変更などがあります。

    • クロス・アプリケーション・レポートは、複数のアプリケーションに適用される情報を提供します。使用可能なレポートには、アプリケーション属性、アプリケーション・コメント、ビルド・オプション、ビルド・ステータスとアプリケーション・ステータス、ページ・コンポーネント数、セキュリティ・プロファイル、認証スキーム、アプリケーション別のテンプレート・デフォルトなどがあります。

問題のあるSQL問合せのデバッグ

問合せが正常に実行されていない可能性がある場合、SQLコマンドライン(SQL*Plus)またはSQLコマンドで実行することをお薦めします。 いずれの方法でも、アプリケーションのコンテキスト外で問合せがテストされるため、問題を簡単に判別できます。

コントロールおよびコンポーネントの削除による問題の特定

ページを正常に実行できない場合は、コントロールとコンポーネントを1つずつ削除することをお薦めします。この方法を使用すると、問題の原因となっている可能性があるコントロールまたはコンポーネントを迅速に判別できます。条件属性「なし」を選択すると、コントロールまたはコンポーネントを無効にできます。

条件付き属性を使用してコントロールまたはコンポーネントを削除するには、次のステップを実行します。

  1. 該当する「ページ定義」にナビゲートします。

    1. 「作業領域」ホームページにナビゲートします。

    2. アプリケーション・ビルダー」アイコンをクリックします。

    3. アプリケーションを選択します。

    4. ページを選択します。

      「ページ定義」が表示されます。

  2. 無効にするコントロールまたはコンポーネントの名前を選択します。

    該当する属性ページが表示されます。

  3. 「条件タイプ」までスクロールして、「条件タイプ」リストから「なし」を選択します。

  4. 変更の適用」をクリックして、「ページ定義」に戻ります。

  5. ページを再度実行します。

  6. ページが正常に実行されるまで、コントロールまたはコンポーネントの削除を続けます。