您可以使用AUDIT
命令跟踪访问。这会产生大量数据,所以要小心。
从特定用户的所有报表启用审核,以捕获所有访问:
audit all statements by jheller;
它不会生效,直到下一次会议。重新登录后,运行一些测试命令:
create table test1(a number);
select * from test1;
insert into test1 values(1);
delete from test1;
现在查询DBA_AUDIT_TRAIL
找到数据。审计线索中有很多垃圾,因此需要一些努力来缩小结果。
select owner, obj_name, action_name
from dba_audit_trail
where username = 'JHELLER'
and owner = 'JHELLER'
and timestamp > sysdate - 1
order by timestamp desc;
结果:
OWNER OBJ_NAME ACTION_NAME
----- -------- --------
JHELLER TEST1 DELETE
JHELLER TEST1 INSERT
JHELLER TEST1 SELECT
JHELLER TEST1 CREATE TABLE
如果你有足够的时间也许收集数据的表触发器会为你做这个通过在指定的表每条语句一次登录用户的访问? –
您可能正在寻找[数据库审计](http://www.oracle.com/technetwork/database/security/index-085803.html) – mustaccio
db审计仅适用于企业和标准版本。 – OldProgrammer