Oracle SQL表历史记录
这就是问题所在,我有一个Oracle表,一个普通表,有300行数据 我需要弄清楚这些数据在至少100天前是什么样子的,谁做了更改,时间戳也很好。 问题是,我确实有一个定时备份,但我相信有人更改了数据并删除了备份,所以我试图找出系统记录的这种变化 我在谷歌上搜索了这个,但对于我现在得到的结果,我没有得到我需要的Oracle SQL表历史记录,sql,oracle,timestamp,Sql,Oracle,Timestamp,这就是问题所在,我有一个Oracle表,一个普通表,有300行数据 我需要弄清楚这些数据在至少100天前是什么样子的,谁做了更改,时间戳也很好。 问题是,我确实有一个定时备份,但我相信有人更改了数据并删除了备份,所以我试图找出系统记录的这种变化 我在谷歌上搜索了这个,但对于我现在得到的结果,我没有得到我需要的 从dba_hist_sqltext中选择*它只提供当前会话的结果 选择SCN\u TO\u时间戳(ORA\u ROWSCN)-指定的编号不是有效的系统更改编号 Oracle SQL信息
- 从dba_hist_sqltext中选择*它只提供当前会话的结果
- 选择SCN\u TO\u时间戳(ORA\u ROWSCN)-指定的编号不是有效的系统更改编号
asoftimestamp
子句进行查询,如下所示:
SELECT * FROM yourtable
AS OF TIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS');
但这必须启用,并且有一定的(可配置的)大小限制,因此不能保证您仍然可以查询100天前的记录。在一个繁忙的数据库中,历史记录可能只会追溯几分钟。谢谢你,伙计,它告诉了我在寻找解决方案时应该考虑的方向!再次感谢您的快速回答!