您的位置:首页 > 数据库 > Oracle

找出对oracle测试库的表执行delete的用户

2016-04-23 16:04 621 查看
    用户反映测试库的表数据被删除了,需要找出是谁删除的。可以通过这个sql查出。



select Q.sql_text,

       Q.SQL_ID,

       S.SAMPLE_TIME,

       S.SESSION_ID,

       S.USER_ID,

       S.ACTION,

       C.OSUSER,

       S.MACHINE

  from v$active_session_history S, v$sqlarea Q, v$session_connect_info C

 where S.SAMPLE_TIME > SYSDATE - 0.5

   AND S.SQL_OPNAME = 'DELETE'

   AND S.SESSION_ID = C.SID

   and s.SESSION_SERIAL# = c.SERIAL#

   AND s.SQL_ID = q.SQL_ID

   AND Q.sql_text like '%TABLE_NAME%';


SELECT c.username, a.program, b.sql_text, b.command_type, a.sample_time

  FROM dba_hist_active_sess_history a

  JOIN dba_hist_sqltext b ON a.sql_id = b.sql_id

  JOIN dba_users c ON a.user_id = c.user_id

 WHERE a.sample_time BETWEEN SYSDATE - 2 AND SYSDATE

   AND b.command_type IN (7, 85)

 ORDER BY a.sample_time DESC;



内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: