Oracle SQL table 历史
Oracle SQL table history
这就是问题所在,我有一个 Oracle table,只是一个普通的 table,假设有 300 行数据。
我需要弄清楚该数据至少在 100 天前是什么样子的,谁进行了更改,时间戳也很好。
事情是,我确实有一个计划备份,但我相信有人更改了数据并删除了备份,所以我试图通过系统记录找出这个变化。
我做了 google 这个,现在得到的结果,我没有得到我需要的。
- select * 来自 dba_hist_sqltext - 它只给我当前会话的结果
- SELECT SCN_TO_TIMESTAMP(ORA_ROWSCN) - 指定的号码不是有效的系统更改号码
Oracle SQL 信息 -
Java(TM) 平台 1.7。0_51
甲骨文 IDE 4.0.0.13.80
版本支持 4.0.0.13.80
你们还有别的想法吗?
提前谢谢你
您可以使用闪回:Using Oracle Flashback Technology
这样,您可以使用 AS OF TIMESTAMP
子句进行查询,如下所示:
SELECT * FROM yourtable
AS OF TIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS');
虽然这必须启用,并且有一定的(可配置的)大小限制,因此不能保证您仍然可以查询 100 天前的那些记录。在繁忙的数据库中,历史记录可能只返回几分钟。
这就是问题所在,我有一个 Oracle table,只是一个普通的 table,假设有 300 行数据。
我需要弄清楚该数据至少在 100 天前是什么样子的,谁进行了更改,时间戳也很好。 事情是,我确实有一个计划备份,但我相信有人更改了数据并删除了备份,所以我试图通过系统记录找出这个变化。
我做了 google 这个,现在得到的结果,我没有得到我需要的。
- select * 来自 dba_hist_sqltext - 它只给我当前会话的结果
- SELECT SCN_TO_TIMESTAMP(ORA_ROWSCN) - 指定的号码不是有效的系统更改号码
Oracle SQL 信息 - Java(TM) 平台 1.7。0_51 甲骨文 IDE 4.0.0.13.80 版本支持 4.0.0.13.80
你们还有别的想法吗? 提前谢谢你
您可以使用闪回:Using Oracle Flashback Technology
这样,您可以使用 AS OF TIMESTAMP
子句进行查询,如下所示:
SELECT * FROM yourtable
AS OF TIMESTAMP TO_TIMESTAMP('2004-04-04 09:30:00', 'YYYY-MM-DD HH:MI:SS');
虽然这必须启用,并且有一定的(可配置的)大小限制,因此不能保证您仍然可以查询 100 天前的那些记录。在繁忙的数据库中,历史记录可能只返回几分钟。