如何知道oracle数据库中某段时间内,哪些表被修改了!

2024-11-08 16:41:07
推荐回答(4个)
回答1:

不是很清楚你的问题和要求,

  1. 修改程序后, 你说的所有记录都存放在表中,是指所有对表的操作,还是仅跟你修改的程序相关的表操作

  2. 如果仅表示你修改的某个程序,相关的数量较多的表被修改, 你的要求是否要查到那些已经被修改的表的信息.


 (如果该程序可以重新执行, 可以在程序的前与后,对该会话增加SQL_TRACE, 就可以从生成的trace文件中知道你的程序究竟对哪些表作了修改

回答2:

select sql_text, last_active_time from v$sqlarea where last_active_time >= to_date('2014-01-10 9:00:00','yyyy-mm-dd hh24:mi:ss')
order by last_active_time desc

回答3:

可以使用logminer挖掘重做日志,或者启用oracle的审计功能。

回答4:

开审计吧。可以针对单个表,也可以针对整个用户 或者数据库。 关键字“oracle audit”