找出对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;
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;
相关文章推荐
- ORACLE 监听配置
- Oracle 表容量计算
- Win10下安装Oracle11g 不满足配置解决方法
- Oracle Net Manager 服务命名配置以及用PL/SQL 登陆数据库
- Oracle 两种方法解决Oracle的数值0.5只显示成.5问题
- Oracle审计功能
- oracle 11g+win7 安装
- oracle10g调整sga和pga大小
- oracle sql优化过程
- delphi7如何安装oracle access控件
- ogg在oracle database 11.2.0.3上还是谨慎使用集成捕捉模式
- Delphi连接Oracle控件ODAC的安装及使用
- Linux下通过python访问MySQL、Oracle、SQL Server数据库的方法
- CentOS7安装Oracle 11gR2 图文详解
- 在Oracle中索引的使用
- 关于Oracle中的raw类型
- Oracle中的connection,session及process的区别
- oracle数据库学习1
- Oracle以及SqlServer 2008 查询表是否存在
- oracle中过滤中文字符或者汉字的函数