1

こんにちは、私は ASH および AWR テーブルを学習していますが、過去 30 日間に特定のユーザーがアクセスした SQL、オブジェクト、およびスキーマ所有者のリストを取得する方法についてのアイデアはありますか? 基本的にすべての SQL テキストを取得し、この SQL 内を検索して、特定のオブジェクト (テーブル、パッケージ、関数、ビューなど) が特定のスキーマに対してアクセスされているかどうか、およびどのユーザーによってアクセスされているかを確認します。どこから、どのように始めればよいかについてのアイデアはありますか?

4

2 に答える 2

1

次のビューに参加できます -

  1. DBA_HIST_ACTIVE_SESS_HISTORY
  2. DBA_USERS
  3. DBA_HIST_SQLTEXT

過去 30 日間の履歴をフィルタリングするにはsample_timeDBA_HIST_ACTIVE_SESS_HISTORY view を使用します。

何かのようなもの -

SELECT
   h.sample_time,
   u.username,
   h.program,
   h.module,
   s.sql_text
FROM
   DBA_HIST_ACTIVE_SESS_HISTORY h,
   DBA_USERS u,
   DBA_HIST_SQLTEXT s
WHERE  sample_time >= SYSDATE - 30
   AND h.user_id=u.user_id
   AND h.sql_id = s.sql_iD
ORDER BY h.sample_time
/
于 2015-01-29T05:39:14.997 に答える