ORACLE数据库单表数据恢复
2014-09-03 10:33:40 来源:华军科技数据恢复
近日,发现一个简洁快速地恢复表被误删除数据的方法,经验证可行,与众位分享之。在此需要说明的是,应用此方法的前提是:我们知道是哪些表的数据需要恢复。
下面是测试过程:
1、在数据库中建立一个测试表 t_test_databack
2、在 t_test_databack 表中插入几条数据,插入完成后,记录 当 前 数 据 库 时 间 , 时 间 查 询 方 式 为 : select to_char(sysdate,'YYYY-MM-DD HH24:MI:SS') fromdual
3、select * from t_test_databack //查询 t_test_databack中的数据,可以看到我们插入的数据。
4、delete t_test_databack //删除 t_test_databack 中所有的数据。
5、select * from t_test_databack//此时表中无数据。
6、insert into t_test_databack select * from t_test_databack as oftimestamp to_Date('2012-07-04 15:28:00', 'yyyy-mm-dd hh24:mi:ss') //已将误删除数据插入表中,这里
的时间填写第 2 步记录下的时间。
7、select * from t_test_databack //又会看到已经删除的数据。
在第 6 步中,请注意这句:select * from t_test_databack as of timestamp to_Date('2012-07-04 15:28:00', 'yyyy-mm-dd hh24:mi:ss'),它的意思是,找到 t_test_databack 在 2012-07-04 15:28:00 这个时间点的所有数据,既然找到了,你想怎么操作都可以了。