23.8 APEX_ACTIVITY_LOGを使用したカスタム・アクティビティ・レポートの作成
APEX_ACTIVITY_LOG
ビューを使用して、現在のワークスペースのアクティビティを問い合せる方法について学習します。
- アプリケーションのロギングの有効化
「アプリケーション定義の編集」ページでアプリケーションのロギングを有効にします。 - APEX_ACTIVITY_LOG
APEX_ACTIVITY_LOG
を使用して、現在のワークスペースのすべてのアクティビティを表示および問い合せます。 - APEX_ACTIVITY_LOGのサンプル問合せ
APEX_ACTIVITY_LOG
のサンプル問合せを表示します。
親トピック: アプリケーション・パフォーマンスの管理
23.8.1 アプリケーションのロギングの有効化
「アプリケーション定義の編集」ページでアプリケーションのロギングを有効にします。
アプリケーション定義を編集するには:
ヒント:
Oracle APEX管理サービスの「アプリケーション・アクティビティのロギング」属性が「アプリケーションの設定を使用」に設定されている場合、「ロギング」属性の変更のみ可能です。
関連項目:
『Oracle APEX管理ガイド』のアプリケーション・アクティビティのロギングの有効化
23.8.2 APEX_ACTIVITY_LOG
APEX_ACTIVITY_LOG
を使用して、現在のワークスペースのすべてのアクティビティを表示および問い合せます。
APEX_ACTIVITY_LOG
ビューには、開発者アクティビティ、アプリケーション実行時アクティビティなど、ワークスペースのすべてのアクティビティが記録されます。APEX_ACTIVITY_LOG
使用して、現在のワークスペースのすべてのアクティビティを表示および問い合せることができます。たとえば、このビューを使用して、リアルタイムのパフォーマンス分析を提供する特定のアプリケーション内の監視レポートを開発できます。
次の表は、APEX_ACTIVITY_LOG
ビューの列を説明しています。
列 | データ型 | 説明 |
---|---|---|
|
DATE |
アクティビティがページ・ビューの末尾に記録された日時 |
|
VARCHAR2(255) |
将来の使用のために予約されています。 |
|
VARCHAR2(255) |
将来の使用のために予約されています。 |
|
VARCHAR2(4000) |
ページのタイトル |
|
VARCHAR2(4000) |
将来の使用のために予約されています。 |
|
NUMBER |
ページ・ビューの経過時間(秒)。 |
|
NUMBER |
ページ上で処理された行数 |
|
VARCHAR2(255) |
ページ・ビューを実行しているユーザーのID |
|
VARCHAR2(4000) |
クライアントのIPアドレス |
|
NUMBER |
対話モード・レポートID |
|
VARCHAR2 |
ユーザーが入力した対話モード・レポート検索条件。 |
|
VARCHAR2(4000) |
クライアントのWebブラウザ・ユーザー・エージェント。 |
|
NUMBER |
アプリケーションID |
|
NUMBER |
ページ番号 |
|
NUMBER |
Oracle APEXセッション識別子。 |
|
VARCHAR2(4000) |
SQLエラー・メッセージ |
|
VARCHAR2(255) |
将来の使用のために予約されています。 |
|
VARCHAR2(255) |
将来の使用のために予約されています。 |
アクティビティ・ログの領域を節約するため、一意のセッションそれぞれの最初のログ・エントリにのみIPアドレスとWebブラウザ・ユーザー・エージェントが含まれます。
23.8.3 APEX_ACTIVITY_LOGのサンプル問合せ
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
APEXインスタンスでのアクティビティ・ロギングは2つの異なるログ表を順番に使用するよう留意してください。ログ表は2つあるので、ロギング情報はログのうち古い方の使用可能なエントリのみとなります。アプリケーション固有のログ情報を常に保持するには、独自のアプリケーション表にログ情報をコピーするか、アプリケーションに直接ロギングを実装する必要があります。