oracle恢复一个数据表的方法
2016-12-26 17:00
316 查看
今天提交给客户方一个sql脚本去跟新历史数据,结果客户那边的部署人员犯了一个错误,直接拿系统账号去部署,结果第一段代码没有执行成功,结果第二段代码却执行成功了,并且已经提交了的,。。。。由于事前没有备份第二段更新表的数据,导致恢复标的数据非常困难,网上查找了半天,现在将找到的办法归纳如下:
1. 执行如下SQL将test_temp表中的数据恢复到2016年7月7号,即脚本被执行之前时间点。
注意,这里一定要先删除全部数据,否则可能会导致数据重复
?
或者得到sync的节点时间,基本和第一种方法是一致的。
注意:
truncate后的数据是无法恢复的
truncate table test_temp;
2. 下面看第三种(这种方法需要更高的管理权限,否则没法查询回复数据)
?
通过这条语句找到的数据是有限的 因为有的用户可能已经断开和oracle的连接了
如果你看到以上方法能够解决你的问题,哪就不要犹豫,快点动 手吧,因为如果动手晚了,之前的操作的数据记录可能就要被覆盖了,因为存储不大的话要被循环使用的
1. 执行如下SQL将test_temp表中的数据恢复到2016年7月7号,即脚本被执行之前时间点。
注意,这里一定要先删除全部数据,否则可能会导致数据重复
1 SELECT * FROM DQAQTSW 2 AS OF TIMESTAMP TO_TIMESTAMP('2016-07-07 00:00:00', 3 'yyyy-mm-dd hh24:mi:ss');
?
1 select timestamp_to_scn(to_timestamp('2014-05-27 11:00:00','YYYY-MM-DD HH:MI:SS')) 2 from dual; 3 或 select * from sys.smon_scn_time order by time_dp desc; 4 得到结果 71547785 然后 5 insert into test_tmp select * from test_tmp AS OF SCN 71547785
注意:
truncate后的数据是无法恢复的
truncate table test_temp;
2. 下面看第三种(这种方法需要更高的管理权限,否则没法查询回复数据)
?
如果你看到以上方法能够解决你的问题,哪就不要犹豫,快点动 手吧,因为如果动手晚了,之前的操作的数据记录可能就要被覆盖了,因为存储不大的话要被循环使用的
相关文章推荐
- ORACLE恢复一个数据表的方法
- Oracle数据恢复方法
- oracle误用操作系统命令删除数据文件的恢复方法
- oracle的一个数据表被删除_如何恢复数据
- 误删Oracle数据文件的恢复方法
- ORACLE误删除数据的恢复方法
- oracle备份文件恢复到oracle10的数据乱码问题解决方法
- 回滚段表空间中的一个数据文件丢失或者损坏的恢复方法的总结
- 误删oracle表,恢复表结构及数据方法
- oracle误删除表数据的恢复方法
- oracle误删除数据的恢复方法
- 因突然断电造成Oracle破坏的数据恢复方法
- ORACLE误删除数据的恢复方法
- oracle 恢复学习 案例1 一个数据文件丢失 完全恢复数据库
- oracle恢复误删除数据,解除锁定等非常经典实用方法
- Oracle案例:损坏数据文件的恢复方法
- Oracle恢复(四)------用RMAN恢复一个数据文件
- oracle用sql语句误删除数据后恢复方法
- oracle drop table(表)数据恢复方法
- 误删Oracle数据文件的恢复方法