日期:2014-05-16  浏览次数:20770 次

现在使用9i,希望通过闪回实现数据的恢复,请给出具体的方法和代码!谢谢
现在是这样的,我这个主要是防止误插入数据之后的闪回到某个时间段的数据。
现在有1个表,在9:00这个时刻,数据为:
A B
----
1 1
2 2

我插入2行数据后,变成
A B
----
1 1
2 2
3 3
4 4
现在我发现我是误插入,想把数据库里面的数据返回到9:00这个时候的数据,应该怎么做?
PS:我知道如何查询数据(SELECT * FROM cw.fbtest AS OF TIMESTAMP TO_TIMESTAMP('2012-04-02 09:00:00', 'YYYY-MM-DD HH24:MI:SS'); ),只是不知道如何写存储过程来实现,如果需要,可以使用一个winform来实现。要求只输入时间,即可自动闪回恢复数据!

------解决方案--------------------
要实现是可以的,只不过闪回是有时间限制的,并不是你想象的想回复到多久就恢复到多久...

硬要时间的话也简单,都能查出来了,恢复还不简单么..最简单的,删除之后再insert...select..
------解决方案--------------------
楼主应该对闪回有点理解错了,闪回只要闪到最近的某个时间,具体这个时间是多少,得看你数据库设置和数据库运行状态,但肯定不可能永久了。就好比你把你不要的东西丢掉垃圾箱一样,如果你发现那东西丢错了,还可以马上从垃圾箱里找回来,但如果时间久了,垃圾满了肯定要被倒掉,等你倒掉后那些东西你想再要回来就不行了。
------解决方案--------------------
9i没有直接闪回功能,只能闪回查询