Oracle DB审计跟踪 [英] Oracle DB audit trails
问题描述
某人(或某物)实际上错误地更新了我表中的值.我试图找出更新发生的时间.不幸的是,没有为该表创建审核触发器.
Someone (or something) actually updated a value in my table wrongly. I am trying to find out when the update happened. Unfortunately, there is no audit trigger being created for the said table.
还有其他方法或日志可以检查和验证什么时间运行了哪些SQL语句吗?
Is there other ways or logs that I can check and verify what SQL statements were run at what time?
我曾尝试查看v $ sql表,但我认为该表无法捕获对数据库执行的所有SQL语句.例如.我专门做了一个UPDATE语句,但是没有在v $ sql表中捕获它.
I had tried to look at v$sql table, but I don't think that table is capturing all the SQL statements being performed on the database. E.g. I specifically did an UPDATE statement, but it is not captured in the v$sql table.
我可以看看redo.log吗?但是,我不知道如何解释此日志.
Can I look at the redo.log? However, I do not know how to interpret this log.
推荐答案
您唯一的选择是logminer,这不是为了胆小的人.
Your only real option is logminer, which isn't for the faint of heart.
文档在此处: http://docs.oracle .com/cd/B19306_01/server.102/b14215/logminer.htm
v$sql
行可能会在一段时间后老化.在v$sql
中查看时是否考虑了区分大小写?
v$sql
rows may get aged out after a while. Did you account for case sensitivity when looking in v$sql
?
select * from v$sql where upper(sql_fulltext) like '%UPDATE%';
这篇关于Oracle DB审计跟踪的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!