このセクションでは、デバッグ・モードの表示、SQLトレースの有効化、ページ・レポートの表示など、アプリケーションのデバッグ方法を説明し、コントロールまたはコンポーネントを手動で削除して問題を特定する方法を説明します。
内容は次のとおりです。
多くの同時ユーザーが存在するアプリケーションでは、最適なパフォーマンスを保持することが重要です。アプリケーションのパフォーマンスを最適化するには、次のとおりOracle HTML DBの機能を使用する必要があります。
アプリケーションではできるかぎりバインド変数を使用します。SQL問合せ、およびプロセスや検証から実行されるPL/SQLなどのアプリケーション・ロジックでバインド変数構文を使用すると、セッション・ステート値を参照できます。バインド変数を使用してセッション・ステートにアクセスすると、最も効率的にセッション・ステートを参照できます。
#TIMING#
置換文字列をリージョン・フッターに含めて、各リージョンのタイミングを表示します。
多くのアプリケーションは、アプリケーション・コントロールに含まれるデータに基づいています。たとえばボタンは、セッション・ステートに格納された値に基づいて、条件付きで表示される場合があります。アプリケーションの現行のセッション・ステートを表示するには、「開発者」ツールバーの「セッション」リンクをクリックします。
デバッグ・モードでページを表示すると、ページをレンダリングするHTML DBエンジンの動作状況を追跡できます。デバッグ・モードにアクセスするには、「開発者」ツールバーの「デバッグ」リンクをクリックします。
デバッグ・モードでは、特定のHTML DBエンジンの動作に対応する時間コードが表示されます。これは、エンジンによってセッション・ステートが設定されるタイミングを判断するために役立ちます。また、「デバッグ」ビューには、アイテム名および計算ポイントとプロセス・ポイントの詳細も表示できます。デバッグ・モードを終了するには、「開発者」ツールバーの「デバッグなし」をクリックします。
また、f?p
構文を使用してアプリケーションをデバッグ・モードで実行することもできます。この場合、ページをコールして、デバッグ引数をYES
に設定するのみです。次に例を示します。
f?p=100:1:&SESSION::YES
セッションをトレースすると、アプリケーションを効率的にデバックできます。データベースの観点では、各ページ・リクエストが単一のデータベース・セッションとみなされます。SQLトレースを有効にすると、Oracle HTML DBによって一時ファイルが作成されます。このファイルは、TKPROFユーティリティを使用して解析できます。
Oracle HTML DBでSQLトレースを有効にするには、f?p
構文を使用して引数p_trace=YES
を設定します。たとえば、アプリケーション100の1ページ目の表示をトレースするには、次の構文を使用します。
http:/.../f?p=100:1&p_trace=YES
TKPROFユーティリティを使用するには、次の操作を実行します。
トレース・ファイルが作成されたディレクトリにナビゲートします。
次のコマンドを入力して、TKPROFユーティリティの使用方法の説明を表示します。
tkprof help=yes
参照: TKPROFプログラムの使用方法については、『Oracle Databaseパフォーマンス・チューニング・ガイド』を参照するか、データベース管理者に問い合せてください。 |
Oracle HTML DBでは、DBMS_APPLICATION_INFO
をコールして、アプリケーションおよびページで使用されるリソースを簡単に監視できます。HTML DBエンジンがページをレンダリングまたは処理すると、モジュールがHTML DB
に設定され、アプリケーションIDおよびページIDが含められます。設定後は、V$SESSION
およびV$SQLAREA
ビューを問い合せて、トランザクションを監視できます。
ページ内の問題を特定する場合は、ページで実行されているファンクションを明確に理解している必要があります。これを行うために、Oracle HTML DBには多数のページおよびアプリケーションのレポートが含まれています。
ページ・レポートを表示するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
「ページ定義」の上部の次のいずれかのボタンをクリックします。
イベント・ビュー: 現在定義されているページ・コントロールおよびページ・プロセスの詳細を示すレポートにリンクします。
オブジェクト参照: カレント・ページで参照されるデータベース・オブジェクトのリストを表示します。
履歴: 最近変更されたページの履歴を表示します。
アプリケーション・レポートを表示するには、次のステップを実行します。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
「タスク」リストから「アプリケーション・レポートの表示」を選択します。
表示するレポートのタイプを選択します。
共有コンポーネント・レポートは、アプリケーション内のすべてのページに表示または適用される共通の要素に関する情報を提供します。レポートの例には、アプリケーション・コメント、ブレッドクラム・エントリ、データベース・オブジェクトの依存性、LOV、静的エントリ、メッセージなどがあります。
ページ・コンポーネント・レポートは、ページのレンダリング時に実行されるコントロールとロジックに関する詳細情報(たとえば、ブランチ、ボタン、計算、アイテム、リージョンなど)を提供します。
アクティビティ・レポートは、カレント・アプリケーション内の開発者アクティビティの詳細を提供します。使用可能なレポートには、開発者別の変更、日ごとの開発者別の変更、開発者別の変更のチャート、最近の変更が含まれます。
問合せが正常に実行されていない可能性がある場合、SQL PlusまたはSQLワークショップで実行することをお薦めします。 いずれの方法でも、アプリケーションのコンテキスト外で問合せがテストされるため、問題を簡単に判別できます。
ページを正常に実行できない場合は、コントロールとコンポーネントを1つずつ削除することをお薦めします。この方法を使用すると、問題の原因となっている可能性があるコントロールまたはコンポーネントを迅速に判別できます。条件属性「なし」を選択すると、コントロールまたはコンポーネントを無効にできます。
条件付き属性を使用してコントロールまたはコンポーネントを削除するには、次のステップを実行します。
該当するページ定義にナビゲートします。
「作業領域」ホームページにナビゲートします。
「アプリケーション・ビルダー」アイコンをクリックします。
アプリケーションを選択します。
ページを選択します。
ページ定義が表示されます。
無効にするコントロールまたはコンポーネントの名前を選択します。
該当する属性ページが表示されます。
「条件タイプ」までスクロールして、「条件タイプ」リストから「なし」を選択します。
「変更の適用」をクリックして、ページ定義に戻ります。
ページを再度実行します。
ページが正常に実行されるまで、コントロールまたはコンポーネントの削除を続けます。