用户反映测试库的表数据被删除了,需要找出是谁删除的。可以通过这个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;