Oracle DB audit trails(Oracle 数据库审计跟踪)
问题描述
某人(或某物)实际上错误地更新了我表中的值.我试图找出更新发生的时间.不幸的是,没有为上述表创建审计触发器.
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 数据库审计跟踪的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:Oracle 数据库审计跟踪
基础教程推荐
- 从字符串 TSQL 中获取数字 2021-01-01
- 带更新的 sqlite CTE 2022-01-01
- ORA-01830:日期格式图片在转换整个输入字符串之前结束/选择日期查询的总和 2021-01-01
- CHECKSUM 和 CHECKSUM_AGG:算法是什么? 2021-01-01
- 使用 VBS 和注册表来确定安装了哪个版本和 32 位 2021-01-01
- 带有WHERE子句的LAG()函数 2022-01-01
- 如何在 CakePHP 3 中实现 INSERT ON DUPLICATE KEY UPDATE aka upsert? 2021-01-01
- while 在触发器内循环以遍历 sql 中表的所有列 2022-01-01
- MySQL根据从其他列分组的值,对两列之间的值进行求和 2022-01-01
- MySQL 5.7参照时间戳生成日期列 2022-01-01
