Oracle找回删除的表

1、select * from recyclebin where 1=1 

and original_name='XXX'  --表名,大写

order by droptime desc;

查询被drop的表,可查看被删除的表是否在回收站中。

2、在命令模式下:

SQL> show parameter recyclebin

NAME                                 TYPE        VALUE

------------------------------------ ----------- ------------------------------

recyclebin                           string      on

查看回收站机制是否开启,若为on,则表名开启,建议开启回收站机制,太有用了。

 

扫描二维码关注公众号,回复: 241657 查看本文章

3、从回收站恢复被删除的表

在命令模式下,可执行Flashback table XXXX to before drop 。

执行该命令时,若XXXX 表中已存在且有数据,可将回收站中的表另命名恢复。

在命令模式下,执行Flashback table xxxx to before drop rename to xxxx_bak;

 

4、恢复更新的数据

首先查询更新的语句

select * from V$SQL where SQL_TEXT like '%update XXXX set xx%'--查出你需要恢复的时间点

找到更新的语句后,会获得更新的时间,则:

create table t_table_recove --新的表
as select * from xxxx--你误操作的表
as of timestamp to_timestamp('2013-09-23 11:38:46','yyyy-mm-dd hh24:mi:ss');--时间点

 

5、获得更新某时间点的数据

SELECT * FROM xxxxAS OF TIMESTAMP SYSDATE-3/1440;

SYSDATE:当前时间

3:三分钟

该语句的意思是获得三分钟之前时间点的数据。

猜你喜欢

转载自jiage17.iteye.com/blog/2361626