プライマリ・コンテンツに移動

Oracle® Application Expressアプリケーション・ビルダー・ユーザーズ・ガイド リリース5.1 E83810-03 |
| 目次 | 索引

前 | 次 |

# 21.8 APEX_ACTIVITY_LOGを使用したカスタム・アクティビティ・レポートの作成

この項では、`APEX_ACTIVITY_LOG`ビューを使用して、現在のワークスペースのアクティビティを問い合せる方法について説明します。

トピック:

- アプリケーションのロギングの有効化
- APEX_ACTIVITY_LOG
- APEX_ACTIVITY_LOGのサンプル問合せ

## 21.8.1 アプリケーションのロギングの有効化

アプリケーション定義の編集ページでアプリケーションのロギングを有効にできます。

アプリケーション定義を編集するには、次のステップを実行します。

1. ワークスペースのホームページで、「アプリケーション・ビルダー」アイコンをクリックします。
2. アプリケーションを選択します。
3. アプリケーション名の右側にある「アプリケーション・プロパティの編集」ボタンをクリックします。

   「アプリケーション定義の編集」ページが表示されます。

4. 「プロパティ」で、「ロギング」を見つけます。「はい」または「いいえ」を選択します。

   「はい」に設定した場合、すべてのページ・ビューがログに記録されるため、管理者はアプリケーションごとにユーザー・アクティビティを監視できます。高容量アプリケーションでは、ロギングを無効にすることをお薦めします。

ヒント:

Oracle Application Express管理サービスの「アプリケーション・アクティビティのロギング」属性が「アプリケーションの設定を使用(デフォルト)」に設定されている場合、「ロギング」属性の変更のみ可能です。

関連項目:

『Oracle Application Express管理ガイド』のロギングでのアプリケーション・アクティビティの有効化に関する項

## 21.8.2 APEX_ACTIVITY_LOG

`APEX_ACTIVITY_LOG`ビューには、開発者アクティビティ、アプリケーション実行時アクティビティなど、ワークスペースのすべてのアクティビティが記録されます。`APEX_ACTIVITY_LOG`使用して、現在のワークスペースのすべてのアクティビティを表示および問い合せることができます。たとえば、このビューを使用して、リアルタイムのパフォーマンス分析を提供する特定のアプリケーション内の監視レポートを開発できます。

表 21-1に、`APEX_ACTIVITY_LOG`ビューの列を示します。

表 21-1 APEX_ACTIVITY_LOGの列

列 | データ型 | 説明
--- | --- | ---
`time_stamp` | DATE | アクティビティがページ・ビューの末尾に記録された日時
`component_type` | VARCHAR2(255) | 将来の使用のために予約されています。
`component_name` | VARCHAR2(255) | 将来の使用のために予約されています。
`component_attribute` | VARCHAR2(4000) | ページのタイトル
`information` | VARCHAR2(4000) | 将来の使用のために予約されています。
`elap` | NUMBER | ページ・ビューの経過時間(秒)。
`num_rows` | NUMBER | ページ上で処理された行数
`userid` | VARCHAR2(255) | ページ・ビューを実行しているユーザーのID
`ip_address` | VARCHAR2(4000) | クライアントのIPアドレス
`ir_report_id` | NUMBER | 対話モード・レポートID
`ir_search` | VARCHAR2 | ユーザーが入力した対話モード・レポート検索条件。
`user_agent` | VARCHAR2(4000) | クライアントのWebブラウザ・ユーザー・エージェント。
`flow_id` | NUMBER | アプリケーションID
`step_id` | NUMBER | ページ番号
`session_id` | NUMBER | Oracle Application Expressセッション識別子。
`sqlerrm` | VARCHAR2(4000) | SQLエラー・メッセージ
`sqlerrm_component_type` | VARCHAR2(255) | 将来の使用のために予約されています。
`sqlerrm_component_name` | VARCHAR2(255) | 将来の使用のために予約されています。

アクティビティ・ログの領域を節約するため、一意のセッションそれぞれの最初のログ・エントリにのみIPアドレスとWebブラウザ・ユーザー・エージェントが含まれます。

## 21.8.3 APEX_ACTIVITY_LOGのサンプル問合せ

次に、アプリケーション9529に関する過去24時間のページ・ビュー合計数および平均ページ・ビュー時間がユーザーID別に表示されるレポートを作成する方法の例を示します。

    SELECT COUNT(*), AVG(elap), userid
        FROM APEX_ACTIVITY_LOG
     WHERE time_stamp > (SYSDATE-1)
       AND flow_id = 9529
    GROUP BY userid

Oracle Application Expressインスタンスでのアクティビティ・ロギングは2つの異なるログ表を順番に使用することに注意してください。ログ表は2つあるので、ロギング情報はログのうち古い方の使用可能なエントリのみとなります。アプリケーションの特定のログ情報を常に保持する場合は、所有するアプリケーション表に両方のログ情報をコピーするか、アプリケーションに直接ロギングを実装する必要があります。