利用oracle数据库闪回功能将oracle数据库按时间点恢复

oracle更新脚本把原数据冲了,并且没有备份,急煞我也

        解决办法:
        oracle数据库有闪回功能:
 
select * from tab 可以查出已被删除的表 
 
show recyclebin 显示垃圾桶
 
FLASHBACK TABLE TABLENAME TO BEFORE DROP 恢复删除的表
 
PURGE TABLE TABLENAME; 从垃圾桶清除指定的表,此命令将从回收站中删除表及所有相关对象,如索引、约束等。
 
PURGE TABLESPACE USERS; 清除表空间 USERS 的回收站中的所有对象。
 
FLASHBACK TABLE "BIN$04LhcpnoanfgMAAAAAANPw==$0" TO BEFORE DROP RENAME TO TEST2;改名闪回
 
 
闪回undo表空间有数据的闪回操作。
针对delete和update的
1查出scn
select timestamp_to_scn(to_date('2009-04-27 17:54:02','yyyy-mm-dd hh24:mi:ss')) from dual;
 
2利用scn查询闪回数据
select * from objectTable as of scn timestamp_to_scn(to_date('2009-04-27 17:54:02','yyyy-mm-dd hh24:mi:ss'));
 
3
闪回数据
alter table objectTable enable row movement;
flashback table objectTable to scn timestamp_to_scn (to_date('2009-04-27 17:54:02','yyyy-mm-dd hh24:mi:ss'));
 
posted @ 2019-07-11 18:56  程序员宝典  阅读(1355)  评论(0编辑  收藏  举报