Oracle 数据库审计跟踪

2021-11-30 00:00:00 logging oracle audit

某人(或某物)实际上错误地更新了我表中的值.我试图找出更新发生的时间.不幸的是,没有为上述表创建审计触发器.

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%';

相关文章